
1. CREATE 문 : 데이터베이스와 테이블 생성
테이블명, 속성명, 데이터 형식, 기본키, 외래키 등 지정
(1) 데이터베이스 생성
CREATE DATABASE 데이터베이스명
SQL에 한국어를 사용하려면 다음과 같은 명령어를 써야 함.
CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
데이터 베이스 생성 + 한국어 인코딩
CREATE DATABASE new_smartfactory CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

(2) 테이블 생성
CREATE TABLE 테이블명 (
속성명1 형식 제약조건,
속성명2 형식 제약조건,
속성........
속성명5 형식 제약조건 → 마지막 속성엔 쉼표를 붙이지 않음
);
제약조건
NOT NULL : 속성값은 빈칸 이외의 값을 가짐
PRIMARY KEY : 기본키 ( NOT NULL의 의미도 가짐 )
AUTO_INCREMENT : NULL값이어도 순차적으로 값증가
기본값( DEFAULT ) : 해당 속성의 기본 값을 설정

INSERT 문 : 테이블 속성 정보 채우기
INSERT INTO 테이블명 VALUES ( ‘문자열’, ‘문자열’, 숫자, ….. );
→ 속성 순서에 맞춰 데이터를 추가해야 함

ALTER 문 : 생성된 테이블의 속성 변경
ALTER TABLE 테이블명 ADD 생성할속성명;
ALTER TABLE 테이블명 MODIFY 속성명 바꿀형식;
ALTER TABLE 테이블명 CHANGE 속성명 바꿀속성명, 바꿀형식;
ALTER TABLE 테이블명 DROP 삭제할속성명 ;

주의)
나중에 변경하면 속성내용이 NULL로 들어간다
→ 추가 생성 후의 데이터들의 nickname 속성은 채워지지만, 이전의 데이터들은 하나하나 바꿔줘야하는 수고로움이 생김, 그래서 처음부터 구조를 잘 짜야함.

MODIFY : 속성의 타입 변경
CHANGE : 속성명과 타입 변경
DROP : 속성 자체 삭제
DROP 문 : 생성된 테이블 구조와 데이터 모두 삭제
주의)
기본키와 외래키 관계의 테이블은
먼저 외래키 테이블 → 기본키 테이블 순으로 삭제


CREATE TABLE new_user (
id VARCHAR(10) PRIMARY KEY,
pw VARCHAR(20) NOT NULL,
name VARCHAR(5) NOT NULL,
gender CHAR(1),
birthday DATE NOT NULL,
age INT NOT NULL
);

CREATE TABLE member (
id VARCHAR(20) PRIMARY KEY,
name VARCHAR(5) NOT NULL,
age INT,
gender VARCHAR(2) NOT NULL,
email VARCHAR(50),
promotion VARCHAR(2) DEFAULT 'x'
);

ALTER TABLE member MODIFY id VARCHAR(10);
ALTER TABLE member DROP age;
ALTER TABLE member ADD interest VARCHAR(100);
member 테이블의 속성의 변경 전과 변경 후를 비교해보면
다음과 같은 변경사항을 발견할 수 있음
데이터 정의어(DDL)는 데이터베이스와 테이블 구조을 생성, 수정, 삭제할 수 있는 명령어 CREATE, ALTER, DROP 문으로 표현할 수 있다. 이젠 Workbench 버튼들을 사용하는 방법과 DDL 명령어를 사용하는 방법 2가지로 표현할 수 있게 되었다.
여기서 궁금한 점은... 어떤 방법이 더 빠를까? 흠
지금까지 대표적인 명령어만 공부한거고 찾아보니 상세한 검색을 위한 함수들이 엄청 많이 존재하고 있었다..
언제 다 공부하나... 공부하다 그때그때마다 모르는건 구글링해서 정리하는 방법 밖에 없는 것 같다 에헤라디야😵