◆ CREATE 문
● 데이터베이스와 테이블(Relation)을 제작하는 SQL
● 생성
- 데이터베이스 생성
CREATE DATABASE [데이터베이스 명]
- 테이블 생성
CREATE TABLE [테이블 명] (
[column 명] [데이터 type](size) [옵션]
);
※ 데이터유형(데이터 type, 자료형; 자주쓰는 유형)
- 숫자형 : INT, FLOAT
- 문자형 : CHAR, VARCHAR, TEXT
- 날짜형 : DATE, DATETIME, TIMESTAMP
※ 옵션의 종류
- NOT NULL : NULL값(아무 데이터도 없는 값)이 들어가지 않아야함
- UNIQUE : 해당 테이블에서 하나인 유일값이 들어가야 함
- PRIMARY KEY : NOT NULL과 UNIQUE의 조합 / 기본 키라고 부름
- FOREIGN KEY : 다른 테이블의 속성을 참조하기위한 옵션 / 외래 키라고 부름
- DEFAULT : 아무것도 쓰지 않을시 DEFAULT값으로 정해진 값이 입력됨
※ PRIMARY KEY(기본 키)와 FOREIGN KEY(외래 키)
● PRIMARY KEY(기본 키)
- 다른 항목과 절대로 중복되어 나타날 수 없는 단일 값
- 절대로 NULL이 될 수 없음
- EX) 주민등록번호 -> 동일 번호 불가능, 모두 다 있음
● FOREIGN KEY(외래 키)
- 두 개의 테이블을 연결해주는 다리 역할
- 새롭게 추가되는 데이터(튜플)에서 외래 키에 해당하는 값이 참조하는 테이블에 존재하는지 체크
- EX) 주문 데이터를 넣으려고 할 때 회원 테이블에 아직 가입하지 않은 아이디일 때 오류
ex)
> create database sample_DB;
> use sample_DB;
> create table sample_table(
sample_col1 varchar(10) not null
);


SHOW : DATABASE 목록
USE : 작업환경을 해당 데이터베이스로 변경 혹은 설정
DESC : 해당 테이블의 설정값 확인
< sample_table >
sample_col1 |
< Persons >
PersonID
|
LastName
|
FirstName
|
Address
|
City
|
|
|
|
|
|
|
|
|
|
|

SELECT : 해당 테이블 *(모든 COLUMN) 출력
INSERT : 해당 테이블의 COLUMN(col1, col2)에 값(60, 'bye') 입력
< sample_table >
col1
|
col2
|
col3
|
col4
|
|
|
|
|
|
|
|
|
< sample_table2 >
col2_1
|
col2_2
|
col2_3
|
col2_4
|
|
|
|
|
|
|
|
|
◆ ALTER 문
● 테이블, 데이터베이스 이름 및 설정값, 속성 등을 추가 및 삭제, 변경
● 삭제
○ 테이블의 COLUMN 삭제
- ALTER TABLE [테이블 명] DROP COLUMN [컬럼 명];
● 추가
○ 테이블의 COLUMN 추가
- ALTER TABLE [테이블 명] ADD (COLUMN) [컬럼 명] [설정값];


● 이름 변경
○ 테이블의 COLUMN 이름변경
- ALTER TABLE [테이블 명] RENAME COLUMN [기존이름] TO [변경될 이름];
○ 테이블 이름변경
- ALTER TABLE [테이블 명] RENAME TO [변경될 이름];




● 데이터 타입 변경
○ 테이블 COLUMN 데이터 타입 변경
- ALTER TABLE [테이블 명] MODIFY COLUMN [컬럼 명] [설정값];


● 컬럼명과 데이터 타입 변경
○ 테이블의 COLUMN 명과 데이터 타입 변경
- ALTER TABLE [테이블 명] CHANGE COLUMN [기존이름] [바꾸려는 이름] [새로운 데이터 타입];


● 키 변경
○ 키 삭제
- ALTER TABLE [테이블 명] DROP PRIMARY KEY;
○ 키 지정
- ALTER TABLE [테이블 명] ADD PRIMARY KEY(컬럼명);
● primary key 삭제 및 추가




◆ DROP 문
● 데이터베이스 또는 테이블 삭제
- DROP DATABASE [데이터베이스 명];
- DROP TABLE [테이블명];

'DBMS(SQL)' 카테고리의 다른 글
DBMS 실습 - SQL 함수 [자주쓰는 함수] - 2 (5, 6일차) (0) | 2023.10.09 |
---|---|
DBMS 실습 - SQL 함수 [자주쓰는 함수] - 1 (5, 6일차) (0) | 2023.10.09 |
DBMS 실습 - INSERT, SELECT, UPDATE, DELETE(4일차) (0) | 2023.10.09 |
데이터모델링, ERD(Entity Relationship Diagram) (3일차) (0) | 2023.10.09 |
DBMS 개념정리(1, 2일차) (0) | 2023.10.09 |