(1) TABLE
(2) TABLE 생성
(3) TABLE 변경 및 추가
(4) TABLE 삭제
데이터베이스는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)으로 이루어져 있다.
예를 들어 한글이나 워드에서 표를 정갈하게 만든 경험이 있을텐데 그 표의 모양이 바로 테이블(table) 이며 표 내에 열(column)과 행(row) 이 똑같이 있다고 생각하면 된다.
CREATE TABLE tablename
(
id int,
name varchar(16)
);
Query OK, 0 rows affected (0.03 sec)
CREATE TABLE tablename: 새로운 테이블을 생성하는 명령어이다. tablename은 새로 생성될 테이블의 이름을 나타내며 원하는 테이블 이름을 지정하면 된다.( id int, name varchar(16) ): 테이블의 열(필드)을 정의하는 것으로 각 열은 열 이름과 데이터 유형으로 구성된다.
id 열은 int (정수형) 데이터 유형을 가지며, 숫자를 해당 열의 데이터는 숫자로 저장한다.name 열은 varchar(16)(문자형) 데이터 유형을 가지며, 해당 열의 데이터는 최대 16자까지의 문자열을 저장한다는 것을 의미한다.✏ TABLE 목록 확인법
SHOW TABLES; 명령어를 사용하면 현재 사용자가 접근할 수 있는 모든 TABLE 이름들의 목록을 볼 수 있다.
예시
mysql> SHOW TABLES;
+-----------------+
| Tables_in_test |
+-----------------+
| tablename |
+-----------------+
1 row in set (0.00 sec)
✏ TABLE 정보 확인법
DESC tablename; 명령어는 특정 테이블의 구조를 조회하는 명령어이다. 즉 해당 테이블의 열(필드)들에 대한 정보인 열 이름과 데이터 유형을 조회할 수 있다.mysql> DESC tablename;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 row in set (0.00 sec)
✏ TABLE 변경
mysql> ALTER TABLE tablename RENAME new_tablename;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+----------------------+
| Tables_in_test |
+----------------------+
| new_tablename |
+----------------------+
ALTER TABLE tablename RENAME new_tablename; 구문은 데이터베이스의 TABLE 이름을 변경하는 명령어이다.
ALTER TABLE tablename: 데이터베이스에서 특정 테이블을 변경하는 명령어이다.
tablename은 변경할 테이블의 현재 이름이다.
RENAME new_tablename:테이블의 새로운 이름을 지정한다.
new_tablename은 변경될 테이블의 새로운 이름이다.
✏ TABLE 열 추가 방법
mysql> ALTER TABLE new_tablename ADD COLUMN agee double;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC new_tablename;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| agee | double | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
ALTER TABLE new_tablename ADD COLUMN columnname datatype; 구문은 데이터베이스의 특정 테이블에 새로운 열을 추가하는 명령어이다.
ALTER TABLE new_tablename: 데이터베이스에서 특정 테이블을 변경하는 명령어이다.
new_tablename은 변경할 테이블의 이름이다.
ADD COLUMN columnname datatype: 테이블에 새로운 열을 추가하는 부분으로
columnname은 추가할 열의 이름이다. 예시 출력 결과에서는 agee를 열 이름으로 지정 했다.
datatype은 새로운 열의 데이터 유형을 지정한다. 출력 결과에서 double은 부동 소수점 숫자를 나타내는 데이터 유형이다.
✏ TABLE 열 변경 방법 - 데이터 유형
mysql> ALTER TABLE new_tablename MODIFY COLUMN agee int;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> DESC new_tablename;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| agee | int | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
ALTER TABLE new_tablename MODIFY columnname datatype; 구문은 데이터베이스의 특정 테이블의 기존 열의 데이터 유형을 변경하는 명령어이다.
ALTER TABLE new_tablename: 데이터베이스에서 특정 테이블을 변경하는 명령어이다.
new_tablename 은 변경할 테이블의 이름을 지정하는 것이다.
MODIFY columnname datatype: 테이블의 기존 열의 데이터 유형을 변경하는 명령어다.
datatype 자리에 지정한 열의 기존 데이터 유형과는 다른 새로운 데이터 유형을 지정하도록 한다. 예를 들어 double 유형이었던 것을 int로 변경한다.
✏ TABLE 열 변경 방법 - 열 이름
ALTER TABLE new_tablename
CHANGE COLUMN agee age int;
mysql> DESC new_tablename;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| age | int | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
ALTER TABLE tablename CHANGE COLUMN old_columnname new_columnname new_datatype; 구문은 데이터베이스의 특정 테이블에서 기존 열의 이름과 데이터 유형을 동시에 변경하는 명령어이다.
ALTER TABLE tablename: 데이터베이스에서 특정 테이블을 변경하는 명령어이다.
tablename은 변경할 테이블의 이름이다.
CHANGE COLUMN old_columnname new_columnname new_datatype: 테이블의 기존 열의 이름과 데이터 유형을 변경하는 부분이다. old_columnname은 변경될 열의 현재 이름입니다.
new_columnname은 변경할 열의 새로운 이름이다. new_datatype은 변경될 열의 새로운 데이터 유형이다.
✏ TABLE 열 삭제
ALTER TABLE new_tablename
DROP COLUMN age;
mysql> DESC new_tablename;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
ALTER TABLE tablename DROP COLUMN columnname; 구문은 데이터베이스의 특정 테이블에서 열을 제거하는 명령어이다.
ALTER TABLE tablename: 데이터베이스에서 특정 테이블을 변경하는 명령어이다.
tablename은 변경할 테이블의 이름이다.
DROP COLUMN columnname: 테이블에서 제거할 열을 지정하는 것이다.
columnname은 제거할 열의 이름이다.
✏ Database 사용
mysql> DROP TABLE new_tablename;
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
Empty set (0.01 sec)
DROP TABLE tablename; 구문은 데이터베이스에서 특정 테이블을 삭제하는 명령어이다.
DROP TABLE: 데이터베이스에서 특정 테이블을 삭제하는 명령어이다.DROP TABLE은 테이블을 삭제하고 테이블에 연결된 모든 데이터도 삭제한다.tablename: 삭제할 테이블의 이름입니다.tablename은 삭제하려는 테이블의 이름을 지정해주면 된다