CREATE DATABASE 데이터베이스이름
DROP DATABASE 데이터베이스이름
CREATE TABLE 테이블명 (
컬럼1이름 datatype,
컬럼2이름 datatype DEFAULT '버터',
컬럼3이름 datatype,
...
);
ALTER TABLE 테이블명
ADD 컬럼명 VARCHAR(100);
ALTER TABLE 테이블명
MODIFY COLUMN 컬럼명 datatype;
이렇게 하면 테이블에 있던 컬럼의 데이터타입이 변경된다.
datatype 란에 INT, VARCHAR() 등 아무거나 넣을 수 있다.
이미 컬럼에 '가나다' 이런 문자가 있는 경우엔
INT 타입으로 변경하는 등은 불가능하다.
컬럼은 처음부터 잘 만들어 두는게 좋다.
한 번 만들어 놓으면 변경이 불가능할 때가 많기 때문이다.
변경이 필요하면 새로 테이블 만들어서 데이터를 옮기는 식으로 하던가 해야한다.
ALTER TABLE 테이블명
DROP COLUMN 컬럼명;
컬럼만들 때 제약조건을 걸어둘 수 있다.
이 컬럼은 NOT NULL 해야한다.
이 컬럼에 있는 데이터들은 항상 UNIQUE 해야한다
여기에 음수말고 양수만 들어오는지 CHECK 하라
이 컬럼을 PRIMARY KEY로 설정하라 등..
CREATE TABLE new_table (
id INT NOT NULL,
이름 VARCHAR(100) NOT NULL,
나이 INT
)
NOT NULL 입력해두면 나중에 해당 컬럼에 데이터를 안넣으면 저장이 되지 않는다.
CREATE TABLE new_table (
id INT UNIQUE,
이름 VARCHAR(100),
나이 INT
)
UNIQUE가 붙어있는 컬럼안에선 모든 행이 각각 다른 데이터를 가지고 있어야한다.
CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT,
UNIQUE(이름, 나이)
)
이렇게 UNIQUE(컬럼1,컬럼2)형태일때
id 이름 나이
1 aaa 20
2 aaa 21
이렇게 저장은 되는데
id 이름 나이
1 aaa 20
2 aaa 20
이렇게 저장은 불가능하다.
CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT CHECK (나이 > 0),
)
CREATE TABLE new_table (
id INT PRIMARY KEY,
이름 VARCHAR(100),
나이 INT CHECK (나이 > 0),
)
테이블에 행이 추가될 때 자동으로 알아서 1씩 증가된 값이 부여
CREATE TABLE new_table (
id INT AUTO_INCREMENT PRIMARY KEY,
이름 VARCHAR(100),
나이 INT,
)
CREATE TABLE new_table (
id INT,
이름 VARCHAR(100),
나이 INT,
CONSTRAINT 제약조건작명 PRIMARY KEY (id),
CONSTRAINT 제약조건작명2 CHECK(나이 > 10)
)
ALTER TABLE 테이블명 MODIFY 컬럼명 int NOT NULL;