✔️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 등이 있습니다.
📌데이터 조회
💡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 |