[DB] DDL

무1민·2023년 4월 12일
1

데이터베이스

목록 보기
1/11

DDL

  • SQL 구문은 DCL, DDL, DML로 구분하며, 아래와 같은 종류가 있다.

  • DDL(Data Definition Language) : 데이터 정의어

    • 데이터베이스 객체(table, view, index, ...)의 구조를 정의
    • 테이블 생성, 컬럼 추가, 타입변경, 제약조건 지정, 수정 등.
  • 데이터베이스 생성

    create database 데이터베이스명;
    
    create database 데이터베이스명
    default character setcollate;

  • 데이터베이스 변경

alter database 데이터베이스명
default character setcollate;
  • 데이터베이스 삭제
drop database 데이터베이스명;
  • 데이터베이스 사용
use 데이터베이스명;
  • table 생성

    • Data Type

      • 문자형 데이터 타입

      • 숫자형 데이터 타입

      • 날짜형 데이터 타입

      • 이진 데이터 타입

create table table_name(
	column_name1 Type [optional attributes],
    column_name2 Type,
    .
    column_nameN Type,
);
  • Optional attributes

    • NOT NULL : 각 행은 해당 열의 값을 포함해야 하며 null값은 허용되지 않음
    • DEFAULT value : 값이 전달되지 않을 때 추가되는 기본값 설정.
    • UNSIGNED : Type이 숫자인 경우만 해당되며 숫자가 0 또는 양수로 제한됨.
    • AUTO INCREMENT : 새 레코드가 추가 될 때마다 필드 값을 자동으로 1 증가시킴
    • PRIMARY KEY : 테이블에서 행을 고유하게 식별하기 위해 사용. PRIMARY KEY 설정이 있는 열은 일반적으로 ID번호이며 AUTO INCREMENT와 같이 사용되는 경우가 많음
  • 제약 조건

    • 컬럼에 저장될 데이터의 조건을 설정하는 것
    • 제약조건을 설정하면 조건에 위배되는 데이터는 저장 불가.
    • 테이블 생성시 컬럼에 직접 지정하거나 constraint로 지정, 또는 ALTER를 이용하여 설정가능

  • table 생성 1
    • 스키마 : 데이터베이스의 테이블에 저장될 데이터의 구조와 형식을 정의
  • ER Diagram(ERD)

    • 개체 타입과 관계 타입을 기본 개념으로 현실 세계를 개념적으로 표현하는 방법
      업로드중..
  • 스키마를 참조하여 테이블 생성 SQL 작성

    use db;
    
    CREATE TABLE member(
    	idx		INT				NOT NULL AUTO_INCREMENT,
      userid	 VARCHAR(16)	NOT NULL,
      username	VARCHAR(20),
      userpwd		VARCHAR(16),
      emailid		VARCHAR(20),
      emaildomain	VARCHAR(50),
      joindate		TIMESTAMP	NOT NULL DEFAULT current_timestamp,
      PRIMARY KEY (idx)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
profile
야호

0개의 댓글