◆ 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
);
![](https://blog.kakaocdn.net/dn/cfzjVE/btsxp9ELIYe/M3sQXVAnrEeqmcDC5UNhbK/img.png)
![](https://blog.kakaocdn.net/dn/IhtUa/btsxrV60w1J/ePSjz26iOhBRpyevCa1kr0/img.png)
SHOW : DATABASE 목록
USE : 작업환경을 해당 데이터베이스로 변경 혹은 설정
DESC : 해당 테이블의 설정값 확인
< sample_table >
sample_col1 |
< Persons >
PersonID
|
LastName
|
FirstName
|
Address
|
City
|
|
|
|
|
|
|
|
|
|
|
![](https://blog.kakaocdn.net/dn/FjsoP/btsxrY3ImIj/VFSj3dkc1F17y1Jq0p7TA0/img.png)
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) [컬럼 명] [설정값];
![](https://blog.kakaocdn.net/dn/N9UEP/btsxkjA9JMT/os4ciZKEcFCRINV61PMKb1/img.png)
![](https://blog.kakaocdn.net/dn/twWQI/btsxsp06txa/kGPfJXc3j8k76k4etX5kG1/img.png)
● 이름 변경
○ 테이블의 COLUMN 이름변경
- ALTER TABLE [테이블 명] RENAME COLUMN [기존이름] TO [변경될 이름];
○ 테이블 이름변경
- ALTER TABLE [테이블 명] RENAME TO [변경될 이름];
![](https://blog.kakaocdn.net/dn/oTXq4/btsxriOIoJN/zGFDa4fcKbw3MPCSW7Ev51/img.png)
![](https://blog.kakaocdn.net/dn/UAELh/btsxp4Q8oZv/RsoQkMqUWiLhsDDtZUliIK/img.png)
![](https://blog.kakaocdn.net/dn/QOG02/btsxsogP9HC/3T1fhUoYBhpMxkdrxtZBoK/img.png)
![](https://blog.kakaocdn.net/dn/bzO9wj/btsxiefxFTa/G8aXslAFFWz4LbDbacCCK0/img.png)
● 데이터 타입 변경
○ 테이블 COLUMN 데이터 타입 변경
- ALTER TABLE [테이블 명] MODIFY COLUMN [컬럼 명] [설정값];
![](https://blog.kakaocdn.net/dn/cgsONk/btsxh6INa2o/tITvk1WmhUja1eBqdvwUV1/img.png)
![](https://blog.kakaocdn.net/dn/vHPhD/btsxLkqVC07/0ZK2jKXu3X2xJ00R5k5XH0/img.png)
● 컬럼명과 데이터 타입 변경
○ 테이블의 COLUMN 명과 데이터 타입 변경
- ALTER TABLE [테이블 명] CHANGE COLUMN [기존이름] [바꾸려는 이름] [새로운 데이터 타입];
![](https://blog.kakaocdn.net/dn/bAQulo/btsxigYLQjk/u3yp6dmWOqMoCALjNTQ5cK/img.png)
![](https://blog.kakaocdn.net/dn/ms0cZ/btsxqwGupmv/XWELh1ZkLguZFXQO3KAKHK/img.png)
● 키 변경
○ 키 삭제
- ALTER TABLE [테이블 명] DROP PRIMARY KEY;
○ 키 지정
- ALTER TABLE [테이블 명] ADD PRIMARY KEY(컬럼명);
● primary key 삭제 및 추가
![](https://blog.kakaocdn.net/dn/u02Nv/btsxqwzGjrq/nXwLYLUJl8Pl0BwApz6fi1/img.png)
![](https://blog.kakaocdn.net/dn/xKYh0/btsxrlR958D/yU0yIebKxKZKKrBYL36ZEk/img.png)
![](https://blog.kakaocdn.net/dn/ylNRX/btsxtnPvSwA/1qMCGVKyWHAlBu6EakCc6K/img.png)
![](https://blog.kakaocdn.net/dn/DU9sS/btsxtVMbgwb/dQqggjC9xZLTGZiwlvK7VK/img.png)
◆ DROP 문
● 데이터베이스 또는 테이블 삭제
- DROP DATABASE [데이터베이스 명];
- DROP TABLE [테이블명];
![](https://blog.kakaocdn.net/dn/zCoRt/btsxvHmEoup/Hxe4SsFSbmOERNvCrOEKCk/img.png)
'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 |