SQL - DDL / DML

허재정·2024년 3월 18일

SQL

목록 보기
2/7

1. DDL (Data Definition Language) : 테이블 생성, 변경, 삭제

  • Table : 데이터베이스 내에 데이터가 저장되는 형태로 행(Row) 과 열(Column)으로 구성된 데이터 집합

(1) CREATE (Table 생성)

	# 테이블 생성
    CREATE TABLE table_name(
          colunm1 data_type,
          colunm2 data_type,
          ...
    );
    
    # 현재 데이터베이스 내에 모든 테이블의 목록 확인
    SHOW TABLES;
    
    # Table 정보 확인
    DESC table_name; 

(2) ALTER (Table 변경/수정)

  • 테이블 이름 변경
	ALTER TABLE tbl_name RENAME new_tbl_name;
  • 테이블 컬럼 추가
    ALTER TABLE tbl_name ADD COLUMN col_name datatype;
  • 테이블 컬럼 변경
    # 데이터 자료형 변경
    ALTER TABLE tbl_name MODIFY COLUMN col_name datatype;
    
    # 컬럼명 변경
    ALTER TABLE tbl_name CHANGE COLUMN old_col_name new_col_name datatype;
  • 테이블 컬럼 삭제
	ALTER TABLE table_name DROP COLUMN column_name;

(3) DROP (Table 삭제)

    DROP TABLE table_name;

=================================================

2. DML (Data Manipulation Language) : 테이블 tuple 생성, 삭제, 편집, 조회

  • 데이터베이스 생성
    # 기본문자는  utf-8, mb4 설정
	CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4
  • 사용할 데이터베이스로 이동, 실습용 테이블 생성
    USE zerobase;
    CREATE TABLE person(
            id int,
            name varchar(16),
            age int,
            sex char
    );
    DESC person;

(1) INSERT INTO (Table에 데이터 추가)

    INSERT INTO table_name (col1, col2, ...) VALUES (val1, val2, ...);
  • 모든 컬럼에 값을 추가하는 경우 컬럼 이름을 지정하지 않아도 됨. 그러나 입력하는 데이터의 순서가 테이블의 컬럼 순서와 동일해야 함
    INSERT INTO person (id, name, age, sex) VALUES (1, '이효리', 43, 'F');
    INSERT INTO person VALUES (2, '이상순', 48, 'M');

(2) SELECT FROM (Table의 데이터 조회)

    SELECT column1, column2, ... FROM table_name;
    SELECT * FROM table_name; 

(3) UPDATE SET (Table의 데이터 수정)

  • 수정할 데이터 구체적으로 지정하지 않으면 해당 컬럼의 모든 데이터 값이 변하므로 WHERE 조건으로 지정
    UPDATE table_name SET column1=value1, column2=value2, ...
    	WHERE condition;

(4) DELETE FROM (Table의 데이터 삭제)

  • Where는 삭제할 데이터의 조건을 추가
    DELETE FROM table_name WHERE condition;
  • WHERE로 조건이 없이면 해당 컬럼 모든 데이터가 삭제 됨. 테이블 자체를 삭제하고 싶으면 DROP table
profile
Data Science 스터디로그

0개의 댓글