저번 시간에는 DML의 DELETE에 대해 알아보았다.
이번 시간에는 DDL에 대해 알아보겠다.
● MySQL 데이터 타입
TINYINT(M) |
부호있는 수는 -128~127까지, 부호 없는 수는 0~255까지 표현. 1바이트 |
SMALLINT(M) |
부호 있는 수는 -32768~32767까지, 부호 없는 수는 0~65535까지 표현. 2바이트 |
MEDIUMINT(M) |
부호 있는 수는 -8388608~8388607까지, 부호 없는 수는 0~4294967295까지. 4바이트 |
INT(M) or INTEGER(M) |
부호 있는 수는 -92233720036854775808~92233720036854774808 부호 없는 수는 0~18446744073709551615 |
BIGINT(M) |
부동 소수점을 나타낸다. 언제나 부호 있는 수임. (-3.402823466E + 38~3.402823466E + 38) |
FLOAT(M, D) |
2배 정밀도를 가진 부동 소수점. (-1.79769313486231517E + 308~6931348623157E + 308) |
DOUBLE(M, D) |
날짜를 표현하는 타입. ‘9999-12-31’. 3 바이트 |
DATE |
날짜를 표현하는 타입. ‘9999-12-31’. 3바이트 |
DATETIME |
날짜와 시간을 같이 나타내는 타입. ‘9999-12-31 23:59:59’. 8 바이트 |
TIMESTAMP |
‘1970-01-01 00:00:00’ 부터 2037년까지 나타낼 수 있다. 4 바이트 |
TIME |
시간을 나타낸다. ‘-839:59:59’부터 ‘838:59:59’까지 나타낼 수 있다. |
YEAR |
년도를 나타낸다. 1901년부터 2155년, 0000년을 나타낼 수 있다. |
CHAR(M) |
고정 길이를 갖는 문자열을 저장할 수 있다. M은 1부터 255까지이다. |
VARCHAR(M) |
CHAR은 고정 길이인 반면 VARCHAR은 가변 길이이다. |
TINYBLOB, TINYTEXT |
255개의 문자를 저장할 수 있다. |
BLOB, TEXT |
65,535개의 문자를 저장할 수 있다. |
MEDIUMBLOB, MEDIUMTEXT |
16,777,215개의 문자를 저장할 수 있다. |
LONGBLOB, LONGTEXT |
4,294,967,295(4기가)개의 문자를 저장할 수 있다. |
● 테이블 생성
CREATE TABLE 테이블명(
필드명1 타입 [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT],
필드명2 타입 [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT],
필드명3 타입 [NULL | NOT NULL][DEFAULT][AUTO_INCREMENT],
…
PRIMARY KEY(필드명)
);
-데이터 형 외에도 속성값의 빈 값 허용 여부는 NULL 또는 NOT NULL로 설정
-DEFAULT 키워드와 함께 입력하지 않았을 때의 초기값을 지정
-입력하지 않고 자동으로 1씩 증가하는 번호를 위한 AUTO_INCREMENT
-예: EMPLOYEE와 같은 구조를 가진 EMPLOYEE2 테이블을 생성하라.
● 테이블 수정(컬럼 추가 / 삭제)
ALTER TABLE 테이블명
ADD 필드명 타입 [NULL | NOT NULL] [DEFAULT] [AUTO_INCREMENT];
ALTER TABLE 테이블명
DROP 필드명;
-예: EMPLOYEE2 테이블에 생일(birthdate) 칼럼을 varchar(12) 형식으로 추가하시오.
ALTER TABLE EMPLOYEE2
ADD birthdate VARCHAR(12);
-예: EMPLOYEE2 테이블이 생일(birthdate) 칼럼을 삭제하시오.
ALTER TABLE EMPLOYEE2
DROP birthdate;
● 테이블 수정(컬럼 수정)
-예: EMPLOYEE2 테이블의 부서번호(deptno)를 dept_no로 수정하시오.
ALTER TABLE EMPLOYEE2
CHANGE deptno dept_no int(11);
● 테이블 이름 변경
ALTER TABLE 테이블명 RENAME 변경이름
-예: EMPLOYEE2 테이블의 이름을 EMPLOYEE3로 변경하시오.
ALTER TABLE EMPLOYEE2
RENAME EMPLOYEE3;
● 테이블 삭제하기
DROP TABLE 테이블이름;
-제약 조건이 있을 경우에는 DROP TABLE 명령으로도 테이블이 삭제되지 않을 수 있다. 그럴 경우는 테이블을 생성한 반대 순서로 삭제를 해야한다.
-예: EMLOYEE2 테이블을 삭제하시오.
-테이블 삭제 후 DESC 명령을 수행하면, 존재하지 않는 테이블이라고 표시된다.
DROP TABLE EMPLOYEE2;
'CS > Database' 카테고리의 다른 글
[Edwith] 9. Maven (0) | 2020.04.20 |
---|---|
[Edwith] 11. JDBC (0) | 2020.04.20 |
[Edwith] 7. DML - DELETE 알아보기 (0) | 2020.04.16 |
[Edwith] 6. DML - UPDATE 알아보기 (0) | 2020.04.16 |
[Edwith] 5. DML - INSERT 알아보기 (0) | 2020.04.16 |