이 글은 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 |