데이터 베이스 생성 CREATE
SQL에서 새로운 데이터 베이스, 테이블들을 생성할 때에는 CREATE 명령어 사용합니다.
create database dbtest;
SQL 상에는 여러 Database가 존재하므로 해당 db를 사용할 때에는 반드시 USE 데이터베이스이름을 실행 해 주어야 합니다.
use dbtest;
SQL 스크립트에서 번개 모양을 눌러 실행, 스키마 새로고침을 해주면 왼쪽 스키마에 새로운 dbtest가 생긴 것을 확인할 수 있습니다.

데이터 베이스 삭제 DROP
반대로 데이터 베이스, 테이블들을 삭제할 때에는 DROP 명령어를 사용합니다.
drop database dbtest;
테이블 생성
간단한 예제를 위해 고객 table, 제품 table, 주문 table, 배송업체 table을 만들어 보겠습니다.
##테이블 생성 구조
create table [테이블 이름](
속성이름 데이터 타입(크기) 옵션
);
데이터 타입 종류 : INT(정수형)/ CHAR(문자형)/ VARCHAR(가변문자열)/ DATE(날짜)
옵션 종류 : NOT NULL (빈칸 허용 안함) , DEFAULT(기본값 지정), CHECK(조건) ,
PRIMARY KEY (기본 키 지정),
FOREIGN KEY 속성이름 REFERANCE 외부테이블명(외부속성이름) : 외래 키 지정
create table 고객(
고객아이디 VARCHAR(20) NOT NULL,
고객이름 VARCHAR(10) NOT NULL,
나이 INT,
등급 VARCHAR(10) NOT NULL,
직업 VARCHAR(20),
적립금 INT DEFAULT 0,
PRIMARY KEY(고객아이디) );
create table 제품(
제품번호 CHAR(3) NOT NULL,
제품명 VARCHAR(20),
재고량 INT,
단가 INT,
제조업체 VARCHAR(20),
PRIMARY KEY(제품번호),
CHECK (재고량 >= 0 AND 재고량 <=10000) );
create table 주문(
주문번호 CHAR(3) NOT NULL,
주문고객 VARCHAR(20),
주문제품 CHAR(3),
수량 INT,
배송지 VARCHAR(30),
주문일자 DATE,
PRIMARY KEY(주문번호),
FOREIGN KEY(주문고객) REFERENCES 고객(고객아이디),
FOREIGN KEY(주문제품) REFERENCES 제품(제품번호) );
CREATE TABLE 배송업체 (
업체번호 CHAR(3) NOT NULL,
업체명 VARCHAR(20),
주소 VARCHAR(100),
전화번호 VARCHAR(20),
PRIMARY KEY(업체번호) );
commit;
## 코드 드레그 => 번개(실행) => 스키마 새로고침

테이블 구조 변경 ALTER
테이블의 구조를 변경할 때는 ALTER 명령어를 사용합니다.
##테이블에 새로운 속성 추가
ALTER TABLE 테이블이름 ADD 속성이름 (형태) (옵션)
#테이블 속성 제거
ALTER TABLE 테이블이름 DROP COLUMN 속성이름
#테이블에 새로운 조건 추가
ALTER TABLE 테이블이름 ADD CONSTRAINT 조건이름 CHECK(조건)
#테이블 조건 삭제
ALTER TABLE 테이블이름 DROP CONSTRAINT 조건이름
alter table 고객 add 가입날짜 date;
alter table 고객 drop column 가입날짜;
alter table 고객 add constraint chk_age check(나이 >= 20);
alter table 고객 drop constraint chk_age;
'SQL > MySQL' 카테고리의 다른 글
| [MySQL] INSERT/ SELECT (1) | 2023.02.24 |
|---|