[Database 생성]
mysql> create database <DB이름> ;
| 예시) MariaDB [(none)]> create database TEST; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | TEST | +--------------------+ 5 rows in set (0.00 sec) |
[Database 삭제]
mysql> drop database <DB이름> ;
| 예시) MariaDB [(none)]> drop database TEST; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec) |
[Table 생성]
데이터베이스가 먼저 만들어져 있어야 하고 데이터베이스 선택 후 생성 가능
mysql> create table <테이블명> ( <컬럼명> <데이터타입> [옵션] [제약조건 ... ] , …. );
| 예시) MariaDB [(none)]> create database TEST; MariaDB [(none)]> use TEST; TEST 데이터베이스 안에 member 테이블을 생성 create table member( no int auto_increment primary key, name varchar(16), userid varchar(20) unique, userpw varchar(10) ); 1. 테이블 생성 확인 mysql> show tables; MariaDB [TEST]> show tables; +----------------+ | Tables_in_TEST | +----------------+ | member | +----------------+ 1 row in set (0.00 sec) 2. 테이블 구조 확인 mysql> desc <테이블명>; MariaDB [TEST]> desc member; +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | no | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | userid | varchar(20) | YES | UNI | NULL | | | userpw | varchar(10) | YES | | NULL | | +--------+-------------+------+-----+---------+----------------+ |
[Table 수정 / 구조변경]
mysql> alter table <테이블명> <ACTION> <옵션 값 ... > ;

| 1. add 추가 mysql> alter table <테이블명> add <컬럼명> <데이터타입> [옵션] [제약조건] [위치옵션] ; [위치 옵션] first : 가장 위에 추가 after <컬럼명> : 해당 컬럼 뒤에 추가 예시) +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | no | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | userid | varchar(20) | YES | UNI | NULL | | +--------+-------------+------+-----+---------+----------------+ 위의 테이블에서 userpw 를 추가해라 (테이블명 : usertable) = alter table usertable add userpw varchar(30) NOT NULL; |
| 2. drop 삭제 mysql> alter table <테이블명> drop <컬럼명>; 예시) +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | no | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | userid | varchar(20) | YES | UNI | NULL | | +--------+-------------+------+-----+---------+----------------+ 위의 테이블에서 userid 를 삭제해라 (테이블명 : usertable) = alter table usertable drop userid; |
| 3. modify 수정 mysql> alter table <테이블명> modify <컬럼명> <데이터타입> [옵션] [제약조건] ; 예시) +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | no | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | userid | varchar(20) | YES | UNI | NULL | | +--------+-------------+------+-----+---------+----------------+ 위의 테이블에서 userid 의 데이터 타입을 varchar(10), NOT NULL 로 수정해라 (테이블명 : usertable) = alter table usertable modify userid varchar(10) NOT NULL; |
| 4. change 변경 mysql> alter table <테이블명> change <기존컬럼명> <새컬럼명> <데이터타입> [옵션] [제약조건] ; 예시) +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | no | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | userid | varchar(20) | YES | UNI | NULL | | +--------+-------------+------+-----+---------+----------------+ 위의 테이블에서 userid 의 컬럼명을 id 로 변경해라 (테이블명 : usertable) = alter table usertable change userid id varchar(20) ; |
| 5. rename 테이블 명 변경 mysql> alter table <기존 테이블명> rename <변경할 테이블명> ; mysql> rename table <기존 테이블명> to <변경할 테이블명> [ , ... ] ; 예시) +----------------+ | Tables_in_TEST | +----------------+ | usertable | +----------------+ usertable 의 테이블 명을 USER 로 변경해라 = alter table usertable rename USER; = rename table usertable to USER; |
| 둘 중에 하나 편한 걸로 사용한다. |
[Table 초기화]
테이블 내 데이터를 모두 삭제하고 설정을 초기화
테이블 삭제(DROP) 후 재 생성(CREATE)을 수행
mysql> truncate <테이블명>;
[Table 삭제]
mysql> drop table <테이블명>;
'Linux > SQL' 카테고리의 다른 글
| [DBMS] DCL 명령어 정리 (계정 확인/생성/삭제 & 권한 확인/생성/삭제) (0) | 2021.11.29 |
|---|---|
| [DBMS] DML 명령어 정리 (데이터 생성/조회/수정/삭제) (0) | 2021.11.28 |
| [DBMS] 관계형 데이터베이스의 구조 (0) | 2021.11.28 |
| [DBMS] 데이터베이스 백업 (0) | 2021.11.28 |
| [Linux] SQL 쿼리 일괄처리 (0) | 2021.11.25 |