데이터가 저장되는 테이블들을 모아놓은 논리적 공간을 Database라 합니다.
CREATE database 데이터베이스명;
어떤 데이터베이스를 사용할 것인지 선언합니다.
USE 데이터베이스명;
SHOW databases;
DROP database 데이터베이스명;
테이블 추가
테이블을 생성하는 명렁어의 기본 구조는 CREATE TABLE 테이블명 (컬럼, 컬럼, 컬럼);
입니다.
컬럼을 명시하는 괄호 () 안에는 필드명/ 자료형/ 제약조건 의 형식을 갖습니다.
필드명은 자신이 직접 작성하며, 일반적으로 snake case를 사용합니다.
자료형의 종류는 다음과 같습니다.
제약 조건의 종류는 다음과 같은 것들이 있습니다.
DESC 테이블명;
SHOW tables;
DROP table 테이블명;
TRUNCATE table 테이블명;
테이블 정의 수정
테이블을 정의한 뒤 Alter 명령어를 통해 스키마를 수정할 수 있습니다.
테이블에 새로운 컬럼을 추가하는 명령어의 기본 구조는 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;
입니다.
아래는 products 테이블에 문자열 타입의 newColumn 컬럼을 추가하는 예제입니다.
기존의 데이터들은 newColumn 컬럼이 없었는데 갑자기 생긴 것이므로 newColumn의 값으로 Null이 할당됩니다.
ALTER TABLE products ADD newColumn varchar(20);
테이블에 새로운 컬럼을 추가하는 명령어의 기본구조는 ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입;
입니다. 아래는 varchar(20)이였던 newColumn 컬럼의 자료형을 Integer로 수정하는 예제입니다.
ALTER TABLE products MODIFY newColumn Integer
테이블에 새로운 컬럼을 추가하는 명령어의 기본 구조는 ALTER TABLE 테이블명 CHANGE 컬럼명 데이터타입;
입니다.
아래는 newColumn 컬럼명을 newnewColumn 컬럼명으로 수정하는 예제입니다.
기존의 정의를 유지하려면 이와 같이 새로운 컬럼의 이름만 작성하면 됩니다.
ALTER TABLE products CHANGE newColumn newnewColumn varchar(50);
데이블에 기존 컬럼을 삭제하는 명령어의 기본 구조는 ALTER TABLE 테이블명 DROP 컬럼명;
입니다.
아래는 newColumn 컬럼명을 삭제하는 예제입니다.
ALTER TABLE products DROP newnewColumn;
데이터 추가
데이터를 추가하는 명령어의 기본 구조는 INSERT INTO 테이블명 (컬럼, 컬럼, ...) VALUES (값, 값, ...);
아래는 products 테이블의 name, model_number, eries 컬럼에 데이터를 2개 추가하는 예제입니다.
INSERT INTO products (name, model_number, series) VALUES ("JAE", "0001", "A"), ("HYEONG", "0002", "b");
INSERT INTO products VALUES ("JAE", "0001", "A")
INSERT INTO proucts VALUES ("HYEONG", DEFAULT, "b");
데이터 조회
데이터를 조회하는 명령어의 기본 구조는 SELECT 컬럼, 컬럼, ... FROM 테이블명;
입니다.
SELECT * FROM products;
SELECT 컬럼, 컬럼, ... FROM 테이블명 WHERE 조건;
입니다. SELECT * FROM products WHERE series="A";
`SELECT * FROM products WHERE series LIKE '%ti%';
특정 컬럼으로 데이터를 정렬하는 명령어의 기본 구조는 SELECT 컬럼, 컬럼, ... FROM 테이블명 ORDER BY 컬럼 ASC/DESC;
입니다.
ASC는 오름차순이며, DESC는 내림차순입니다.
아무것도 명시하지 않을 경우, ORDER BY는 기본 값으로 ASC가 적용됩니다.
SELECT * FROM products ORDER BY name ASC;
여러 컬럼에 대해 순차적으로 정렬 기준을 삼을 수 있습니다.
SELECT * FROM products ORDER BY name DESC, series;
SELECT 컬럼, 컬럼, ... FROM 테이블명 LIMIT 정수;
상위 2개의 데이터만 조회하는 예제입니다.
SELECT * FROM products LIMIT 2;
몇 개의 데이터를 건너 뛴후, 개수를 제한해서 검색할 수도 있다.
5개의 데이터를 건너뛴 뒤, 상위 2개의 데이터를 조회하는 예제입니다.
SELECT * FROM products LIMIT 5,2;
검색되는 데이터의 개수를 점프 (Skip) 하고 싶을 경우 OFFSET을 사용합니다. 기본 구조는 SELECT 컬럼, 컬럼, ... FROM 테이블명 OFFSET 정수;
SELECT * FROM products OFFSET 2;
데이터 수정
데이터를 수정하는 명령어의 기본 구조는 UPDATE 테이블명 SET 필드=값;
입니다.
예시
UPDATE products SET name='hihi', model_number=3 WHERE id=4;
데이터 삭제
데이터를 삭제하는 명령어의 기본 구조는 DELETE FROM 테이블명 조건;
입니다.
아래는 products 테이블의 id가 1인 데이터를 삭제
DELETE FROM products WHERE id = 1;
해당 글에서 모든 문법을 다룬 것은 아니지만, 전체 쿼리를 보았을 때 작성 순서는 아래와 같습니다.
수행 순서는 다음과 같습니다.