본문 바로가기
프로그래밍/MySql

[MySql] 기본 문법 정리

by 시간많은백수 2023. 8. 31.
반응형

✔️MySql이란?

 

MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템이다. 다중 스레드, 다중 사용자, 구조질의어 형식의 데이터베이스 관리 시스템으로 오라클이 관리 및 지원하고 있으며, Qt처럼 이중 라이선스가 적용된다.

 

📌데이터 베이스 생성

1
CREATE DATABASE database_name;
cs

 

create database [db 이름]

 

📌데이터 베이스 조회

1
SHOW DATABASES;
cs

 

📌데이터 베이스 선택

1
USE database_name;
cs

 

use [db이름]

 

💡DDL (Data Definition Language)

DDL은 데이터베이스 구조와 관련된 작업을 수행하는 언어입니다. 데이터베이스의 스키마, 테이블, 인덱스, 뷰 등을 정의하고 조작하는 역할을 합니다. 주요 DDL 명령어로는 CREATE, ALTER, DROP, TRUNCATE 등이 있습니다.

 

📌테이블 생성

1
2
3
4
5
CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);
cs

 

create table [테이블 명] (

[필드이름 1] [필드타입 1],

[필드이름 2] [필드타입 2],...

);

 

📌테이블 변경

    • 컬럼 추가
1
2
ALTER TABLE employees
ADD email VARCHAR(100);
cs

 

    • 컬럼 이름 변경
1
2
ALTER TABLE employees
CHANGE COLUMN email new_email VARCHAR(100);
cs

 

    • DB 이름 변경
1
2
ALTER DATABASE old_db_name
RENAME TO new_db_name;
cs

 

    • 컬럼 삭제
1
2
ALTER TABLE employees
DROP COLUMN email;
cs

 

    • 외래키 추가
1
2
ALTER TABLE orders
ADD FOREIGN KEY (customer_id) REFERENCES customers(id);
cs

 

 

📌테이블 삭제

1
DROP TABLE table_name;
cs

 

💡DML (Data Manipulation Language)

DML은 데이터를 조회하고 조작하는 언어입니다. 데이터베이스의 레코드를 조회, 추가, 수정, 삭제하는 작업을 수행합니다. 주요 DML 명령어로는 SELECT, INSERT, UPDATE, DELETE 등이 있습니다.

 

📌데이터 조회

1
SELECT * FROM table_name;
cs

 

📌데이터 추가

1
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
cs

 

📌데이터 수정

1
2
3
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE some_column = some_value;
cs

 

💡DCL (Data Control Language)

DCL은 데이터베이스에 접근 권한을 제어하는 언어입니다. 사용자의 권한을 관리하고 데이터베이스 객체에 대한 접근 권한을 설정할 수 있습니다. 주요 DCL 명령어로는 GRANT, REVOKE 등이 있습니다.

 

📌권한 부여

1
GRANT permission ON database_name.table_name TO user_name;
cs

 

📌권한 취소

 

1
REVOKE permission ON database_name.table_name FROM user_name;
cs

 

💡TCL (Transaction Control Language)

TCL은 트랜잭션 관리를 위한 언어로, 데이터베이스에서 트랜잭션을 제어하는 역할을 합니다. 주요 TCL 명령어로는 COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION 등이 있습니다.

 

📌커밋

트랜잭션이 성공적으로 완료되어 데이터베이스에 영구적인 변경을 적용하는 작업입니다. 즉, 모든 데이터 조작 작업이 성공적으로 수행되었고, 트랜잭션의 일관성과 지속성이 보장될 때 커밋을 수행하여 변경 사항을 데이터베이스에 반영합니다.

1
COMMIT;
cs

 

📌롤백

트랜잭션을 중간에 실패한 경우, 해당 트랜잭션의 모든 변경 사항을 취소하고 이전 상태로 되돌리는 작업입니다. 즉, 트랜잭션 중에 문제가 발생하여 데이터베이스 일관성을 보장할 수 없는 경우에 롤백을 수행하여 트랜잭션을 취소합니다.

1
ROLLBACK;
cs

 

반응형

'프로그래밍 > MySql' 카테고리의 다른 글

[MySql] MySql 설치 및 환경변수 설정  (0) 2023.10.26
[MySql] ORM이란?  (0) 2023.09.27
[MySql] Join 정리  (0) 2023.09.02