본문 바로가기

STUDY/SQL, DB

[DB] DB / DB 생성 / SQL 명령

 

이 글은 24.01.17에 본인 벨로그에 작성했던 글을 옮겨 온 것이다.

 

Database

  • Database :
    여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
  • DBMS :
    DataBase Management System. 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 DB를 관리하는 소프트웨어.
  • RDB : 관계형 DB(Relational DataBase). 서로 관계 있는 데이터 테이블들을 모아 둔 저장공간
  • SQL : Structured Query Language. DB에서 데이터를 조작/정의/제어하기 위해 사용하는 언어
    (1) DDL : 데이터 정의어(Data Definition Language). 데이터의 구조(테이블)를 정의하는 언어. CREATE, ALTER, DROP 등이 있음.
    (2) DML : 데이터 조작어(Data Manipulation Language). 데이터를 조작(가공)하는 언어. INSERT, UPDATE, DELETE, SELECT 등이 있음.
    (3) DCL : 데이터 제어어(Data Control Language). 데이터를 제어하는 언어. GRANT, REVOKE, COMMIT, ROLLBACK 등이 있음.

 

DB 생성 및 Table, 컬럼 생성/변경/삭제

  • DB생성 : CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4;
    => dbname이라는 이름의 DB를 생성하는데, 기본 자료형은 uft8mb4(다국어+이모지 지원)이다
  • Table 생성/ 삭제
    (1) Table 생성 : CREATE TABLE tablename (id int, name varchar(16));
    => int형 자료를 담는 id컬럼, varchar형 자료를 담는 name컬럼을 갖는 tablename이라는 이름의 테이블을 만든다.

    (2) Table 정보 확인 : DESC(=describe) tablename;

    (3) Table 이름 변경 : ALTER TABLE beforename RENAME aftername
    => beforename이라는 테이블의 이름을 aftername으로 바꾼다

    (4) Table 삭제 : DROP TABLE tablename;
    => tablename이라는 테이블을 삭제한다.
  • 컬럼 추가/변경/삭제
    (1) ALTER TABLE tablename ADD COLUMN columnname datatype;
    => tablename이라는 테이블에, datatype이라는 데이터타입의 columnsname이라는 컬럼을 추가.

    (2) ALTER TABLE tablename MODIFY COLUMN columnname datatype;
    => tablename이라는 테이블의 columnname이라는 컬럼의 데이터 타입을 datatype으로 변경.

    (3) ALTER TABLE tablename CHANGE COLUMN oldname newname newtype;
    => tablename이라는 테이블의 oldname이라는 이름의 컬럼 이름을 newname으로, 데이터 타입을 newtype으로 변경

    (4) ALTER TABLE tablename DROP COLUMN columnname;
    => tablename이라는 테이블에서 columnname이라는 컬럼을 삭제한다

 

SQL 명령어

INSERT(데이터 추가)

(1) 컬럼과 테이블 지정 : INSERT INTO tablename(col1, col2, ...) VALUES(val1, val2, ...);
=> tablename이라는 테이블에 있는 col1, col2, ...라는 컬럼에 val1, val2, ...라는 값 추가.
=> 입력한 컬럼 순서와 추가할 값의 순서가 일치해야 한다.


(2) 모든 컬럼에 데이터 추가 : INSERT INTO tablename VALUES (val1, val2, ...);
=> 모든 컬럼에 값을 추가하는 경우는, 컬럼 이름을 생략해준다.

 

UPDATE(데이터 수정)

  • 특정 컬럼의 값을 수정한다.
    UPDATE tablename SET col1 = val1, col2 = val2, ... WHERE condition;
    => tablename이라는 테이블의 col1이라는 컬럼의 값은 val1로, col2라는 컬럼의 값은 val2로, ... 수정한다. WHERE문은 조건을 걸어주는 조건문인데, 있어도 없어도 OK

 

DELETE(데이터 삭제)

  • 특정 데이터를 삭제한다
    DELETE FROM tablename WHERE condition;
    => tablename이라는 테이블로부터 condition이라는 조건을 만족하는 데이터 삭제

'STUDY > SQL, DB' 카테고리의 다른 글

[MySQL] CONCAT / SQL file / backup, restore  (0) 2024.03.19
[MySQL] JOIN  (0) 2024.03.19
[MySQL] temporary table  (0) 2024.03.05
[MySQL] 비트(bit) 연산자  (2) 2024.02.29
[MySQL] WITH RECURSIVE 구문  (0) 2024.02.19