[MySQL] 섹션 2. SQL 기초 문법의 이해 (데이터베이스 만들기)
섹션 2. SQL 기초 문법의 이해
- SQL로 데이터베이스 만들기
- SQL로 테이블 만들기 / 변경하기
- 스키마 설계하고, SQL로 만들어보기
SQL이란 ?
Schema : 데이터베이스의 테이블 구조 및 형식, 관계 등의 정보를 형식 언어로 기술한 것
관계형 데이터베이스를 사용하여 데이터를 저장할 때 가장 먼저 할 일은 데이터의 공통 속성을 식별하여 컬럼으로 정의하고, 테이블을 만드는 것으로, 통상적으로 여러 개의 테이블을 만들고, 각 테이블의 구조, 형식, 관계를 정의함. 이를 스키마라고 하며, 일종의 데이터베이스 설계도이다. 데이터베이스마다 스키마를 만드는 언어가 존재하며, 해당 스키마만 있으면 동일한 구조의 데이터베이스를 만들 수 있음
SQL
관계형 데이터베이스의 관리 시스템에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어로, 데이터베이스 스키마 생성 및 수정, 테이블 관리, 데이터 추가, 수정, 삭제, 조회 등 데이터베이스와 관련된 거의 모든 작업을 위해 사용되는 언어.
SQL 추가 설명 : link
SQL로 데이터베이스 만들기
생성
CREATE DATABASE mydata;
삭제
DROP DATABASE mydata;
존재하는 db 보기
SHOW DATABASES;
SQL로 테이블 만들기
USE mydata
CREATE TABLE myproduct (
MYKEY INT,
ID DATETIME,
TITLE TEXT,
ORI_PRICE INT,
DISCOUNT_PRICE INT,
DISCOUNT_PERCENT INT,
DELIVERY TEXT,
PRIMARY KEY (MYKEY)
);
SHOW TABLES
MYKEY INT UNSIGNED NOT NULL AUTO_INCREMENT;
OPTION | DESCRIPTION |
---|---|
UNSIGNED | 양수만 |
NOT NULL | 비어있을 수 없음 |
AUTO_INCREMENT | 자동으로 1씩 증가 (중복 방지) |
DESC myproduct;
SQL로 테이블 변경하기
테이블에 새로운 컬럼 추가
ALTER TABLE [테이블 명] ADD COLUMNS [추가할 컬럼 명][추가할 컬럼 데이터 형]
ALTER TABLE mytable ADD COLUMNS new varchar(10) NOT NULL;
테이블 컬럼 타입 변경
ALTER TABLE [테이블 명] MODIFY COLUMN [변경할 컬럼 명][변경할 컬럼 타입]
ALTER TABLE mytable MODIFY COLUMN new varchar(20) NOT NULL;
테이블 컬럼 이름 변경
ALTER TABLE [테이블 명] CHANGE COLUMN [기존 컬럼 명][변경할 컬럼 명]
ALTER TABLE mytable CHANGE COLUMN new new_1 varchar(20) NOT NULL;
테이블 컬럼 삭제
ALTER TABLE [테이블 명] DROP COLUMN [삭제할 컬럼 명]
ALTER TABLE mytable DROP COLUMN new_1;
스키마 설계하고, SQL로 만들어보기
테이블 생성
CREATE TABLE mytable(
id INT UNSIGNED NOT NULL auto_increment,
NAME VARCHAR(50) NOT NULL,
modelnumber varchar(15) not null,
series varchar(30) not null,
primary key(id)
);
테이블 정보 변경
alter table mytable modify column name varchar(20) not null;
alter table mytable change column modelnumber model_num varchar(10) not null;
alter table mytable change column series model_type varchar(10) not null;