본문 바로가기

Back-end/MySQL

MySQL 기초 문법 정리

MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)입니다.

  • MySQL에서 키워드와 구문, 문자열은 대소문자를 구분하지 않습니다.
  • MySQL에서 테이블 명과 필드의 이름은 대소문자를 구분합니다.

기초 문법

데이터 베이스 생성

CREATE DATABASE [database name] CHARACTER SET [character set];

예시) 
    
CREATE DATABASE Account CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

위에서 COLLATE의 ci는 case-insensitive의 약자이며, 대소문자를 구분하지 않게 설정됩니다.

데이터베이스 선택

USE [database name];

예시) 
    
USE Account;

데이터베이스 삭제

DROP DATABASE [database name];

예시) 
    
DROP DATABASE Account;

테이블 생성

CREATE TABLE [table name] ([column1 name][datatype], …);

예시
 
CREATE TABLE User
(

    ID INT,

    Name VARCHAR(30),

    BirthDay DATE,
    
    Age INT

);

테이블 삭제

DROP TABLE [table name];

예시
 
DROP TABLE User;

테이블에 필드(열) 추가

ALTER TABLE [table name] ADD [column name][datatype];

예시) 
    
ALTER TABLE User ADD PhoneNumber INT;

테이블 필드(열) 타입 변경

ALTER TABLE [table name] MODIFY COLUMN [column name][datatype];

예시) 
    
ALTER TABLE User MODIFY ID VARCHAR(20);

테이블 필드(열) 삭제

ALTER TABLE [table name] DROP [column name];

예시) 
    
ALTER TABLE User DROP Age;

테이블에 레코드(행) 추가

INSERT INTO [table name] VALUES (value1, value2, value3…);

예시) 
    
INSERT INTO User(ID, Name, BirthDay) VALUES(1, '김태하', '1992-11-04');

테이블의 레코드(행) 선택

SELECT * FROM [table];

예시) 
    
SELECT * FROM User;

테이블의 레코드(행) 내용 수정

UPDATE [table] SET [column]=[value] WHERE [condition];

예시) 
    
UPDATE User SET Age = 30 WHERE Name = '김태하';

테이블의 레코드(행) 삭제

DELETE FROM [table] WHERE [condition];

예시) 
    
DELETE FROM User WHERE Name = '김태하';

다중 테이블 연산

Join

  • Join은 두 개의 table들을 연결(join)해서 두 table의 레코드를 읽어 들이고 싶을 때 사용합니다.
  • INNER JOIN: 기준이 되는 테이블 (left table)과 join이 걸리는 테이블(right table) 양쪽 모두에 matching되는 row만 select가 됨.
  • LEFT JOIN: 기준이 되는 테이블 (left table)의 모든 row와 join이 걸리는 테이블(right table)중 left table과 matching되는 row만 select가 됨.
  • RIGHT JOIN: join이 걸리는 테이블(right table)의 모든 row와 기준이 되는 테이블 (left table)에서 right table과 matching되는 row만 select가 됨.
  • FULL (OUTER) JOIN: 기준이 되는 테이블 (left table)과 join이 걸리는 테이블(right table) 양쪽 모두의 모든 row를 select 한다.

Join 기본 문법

SELECT
테이블이름.조회할 테이블,
테이블이름.조회할 테이블
FROM 기준테이블 이름
(INNER, LEFT, RIGHT FULL) JOIN 조인테이블 이름
ON 기준테이블이름.기준키 = 조인테이블이름.기준키;

예시) 

SELECT users.id, users.name, users.age, users.gender, accounts.account_type 
FROM users JOIN accounts ON accounts.id = users.account_id;

출처 : Taeha Kim

 

'Back-end > MySQL' 카테고리의 다른 글

Dummy Data 생성하기 (MySQL)  (0) 2021.09.12
DB 종류별 장단점  (0) 2021.09.12
[MySQL] Join 깔끔한 이해와 사용법  (0) 2021.09.10
MySQL by Traversy Media  (0) 2021.09.10
MySQL 실행창 갑자기 꺼져버리는 현상 해결  (0) 2021.09.10