-
[Database]DDL(MySQL)Web/Database 2021. 4. 11. 15:47
*DDL(Data Definition Language) : 데이터 정의어.
*데이터베이스 : 생성, 변경, 삭제, 사용.
-- 다국어 처리 create database db default character set utf8mb3 collate utf8mb3_general_ci; -- 이모지 문자까지 다국어 처리 create database db default character set utf8mb4 collate utf8mb4_general_ci; -- 변경 alter database db default character set utf8mb4 collate utf8mb4_general_ci; -- 삭제 drop database db; -- 데이터베이스 사용 use db;
*테이블
(1) 데이터 타입 : dev.mysql.com/doc/refman/8.0/en/data-types.html
MySQL :: MySQL 8.0 Reference Manual :: 11 Data Types
MySQL supports SQL data types in several categories: numeric types, date and time types, string (character and byte) types, spatial types, and the JSON data type. This chapter provides an overview and more detailed description of the properties of the type
dev.mysql.com
(2) 테이블 생성(CREATE)
-> 문법
create table table_name( col_name1 Type [option], col_name2 Type [option], ... );
-> 예시
create database db default character set utf8mb4 collate utf8mb4_general_ci; use db; create table student ( studentno INT NOT NULL auto_increment primary key, studentname VARCHAR(20) NOT NULL, studentid VARCHAR(20), studentpwd VARCHAR(20) );
※ option에는 다음과 같은 속성들이 존재한다.
-> NOT NULL : null 값을 허용하지 않는다.
-> AUTO INCREMENT : 새 레코드가 추가 될 때 마다 필드 값을 자동으로 1씩 증가시킨다.
-> PRIMARY KEY : 테이블에서 행을 고유하게 식별하기 위해 사용한다(기본키).
-> FOREIGN KEY : 특정 테이블의 PK컬럼에 저장되어 있는 값을 저장하고 가리킨다(참조키, 외래키).
-> UNIQUE: 컬럼에 중복된 값 저장 불가능(NULL 제외).
-> DEFAULT value: 기본값을 value로 설정한다.
-> UNSIGNED : Type이 숫자인 경우, 값을 0 혹은 양수로 제한한다.
(3) 테이블 변경(ALTER)
-- ADD(새로운 열 추가) alter table table_name add col_name TYPE [option]; -- Add Ex alter table student add age INT NOT NULL; -- RENAME(열 이름 변경) alter table table_name rename column col_name to change_name; -- RENAME Ex alter table student rename column age to grade; -- MODIFY(열 데이터 타입 변경) alter table table_name modify col_name TYPE; -- MODIFY Ex alter table student modify grade decimal(10); -- DROP(열 삭제) alter table table_name drop col_name; -- DROP Ex alter table student drop grade;
(4) 테이블 삭제(DROP)
-- DROP(테이블 삭제) drop table table_name; -- DROP Ex drop table student;
*MySQL API
-> 앞서 제시한 데이터 타입, 혹은 기존에 익숙한 프로그래밍 언어와 마찬가지로 MySQL의 자세한 문법이나 사용을 보고 싶으면 API문서를 참고하는 습관을 들이도록 하자.
dev.mysql.com/doc/refman/8.0/en/sql-statements.html
MySQL :: MySQL 8.0 Reference Manual :: 13 SQL Statements
dev.mysql.com
'Web > Database' 카테고리의 다른 글
[Database]서브 쿼리(MySQL) (0) 2021.04.12 [Database]조인과 집합연산(MySQL) (0) 2021.04.11 [Database]내장 함수, 집계 함수와 GROUP BY절(MySQL) (0) 2021.04.11 [Database]DML(MySQL) (0) 2021.04.11 [Database]SQL 개요 (0) 2021.04.11