본문 바로가기
데이터베이스/MySQL

[MySQL] DDL - 데이터 정의어

by 비븽 2022. 11. 30.

DDL

데이터 정의어. 데이터베이스 또는 테이블 등을 정의할 때 사용하는 쿼리. CREATE, ALTER, DROP 등.


SHOW DATABASES;  -- 현재 계정에서 접속할 수 있는 모든 데이터베이스를 조회하는 쿼리.
SHOW DATABASES LIKE '%a%';  -- 데이터베이스 조회 시 추가 검색 옵션 가능.
USE test_db;  -- 작업을 위한 기본 데이터베이스 설정 쿼리. Set ad Default Schema 기능과 동일.

 


CREATE

 

CREATE DATABASE test_db;
CREATE DATABASE IF NOT EXISTS test_db;  -- 데이터베이스 생성 시 추가 제한 옵션 가능.

데이터베이스 생성 쿼리

 

CREATE TABLE test_tb (
	a INT,
    b DECIMAL(3, 1),
    c CHAR(10),
    d DATETIME
); 
CREATE TABLE IF NOT EXISTS test_tb (
	a INT,
    b DECIMAL(3, 1),
    c CHAR(10),
    d DATETIME
);  -- 테이블 생성 시 추가 제한 옵션 가능.

테이블 생성 쿼리

 

CREATE 시퀀스

   오라클 데이터베이스에서 특정 규칙에 맞는 연속 숫자를 생성하는 객체

EX) CREATE SEQUENCE 시퀀스 명 START WITH 20220001 INCREMENT BT 1;

CREATE - 제약조건

   테이블의 특정 컬럼에 제약을 거는 것. 해당 컬럼 or 테이블 이용시 제약 조건을 지켜야 한다. 어길 시 "제약조건 위배" 에러 발생

 

SHOW

SHOW TABLES;  -- 현재 지정한 데이터베이스 내 모든 테이블을 조회하는 쿼리.
SHOW TABLES LIKE '%t%';  -- 테이블 조회 시 추가 검색 옵션 가능.
SHOW TABLES FROM sakila;  -- 테이블 조회 시 데이터베이스 지정 가능.
SHOW COLUMNS FROM sakila.rental;  -- 지정한 테이블에 대한 열 정보를 조회하는 쿼리.

 

DROP

DROP TABLE test_tb;  -- 테이블 삭제 쿼리.
DROP TABLE IF EXISTS test_tb;  -- 테이블 삭제 시 추가 제한 옵션 가능.

DROP DATABASE test_db;  -- 데이터베이스 삭제 쿼리.
DROP DATABASE IF EXISTS test_db;  -- 데이터베이스 삭제 시 추가 제한 옵션 가능.