📌 SQL
- 데이터 정의 언어 (DDL: Data Definition Language)
- CREATE
, ALTER
, DROP
등의 명령어
- 데이터 조작 언어 (DML: Data Manipulation Language)
- INSERT
, UPDATE
, DELETE
, SELECT
등의 명령어
- 데이터 제어 언어 (DCL: Data Control Language)
- GRANT
, REVOKE
, COMMIT
, ROLLBACK
등의 명령어
% mysql -u root -p
Enter password:
📖 Database
- Database
: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
- DBMS (Database Management System)
: 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
- 관계형 데이터베이스 (RDB: Relational Database)
: 서로간에 관계가 있는 데이터 테이블들은 모아둔 데이터 저장공간
- SQL (Structured Query Language)
: 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
% mysql -u root -p
SHOW DATABASES;
CREATE DATABASE dbname;
USE dbname;
DROP DATABASE dbname;
CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4;
User
use mysql;
SELECT host, user FROM user;
CREATE USER 'username'@'localhost' identified by 'password';
CREATE USER 'username'@'%' identified by 'password';
DROP USER 'username'@'localhost';
DROP USER 'username'@'%';
권한 관리
SHOW GRANTS FOR 'username'@'localhost';
GRANT ALL ON dbname.* to 'username'@'localhost';
REVOKE ALL ON dbname.* from 'username'@'localhost';
FLUSH PRIVILEGES;
table
CREATE TABLE tablename
(
name varchar(16),
columnname datatype,
columnname datatype,
...
);
SHOW TABLES;
DESC tablename;
ALTER TABLE tablename RENAME new_tablename;
ALTER TABLE tablename ADD COLUMN columnname datatype;
ALTER TABLE tablename MODIFY COLUMN columnname datatype;
ALTER TABLE tablename CHANGE COLUMN old_columnname new_columnname;
ALTER TABLE tablename DROP COLUMN columnname;
DROP TABLE tablename;
📖 SELECT, INSERT, UPDATE, DELETE
INSERT - 데이터 추가
INSERT INTO tablename (column1, column2, ... )
VALUES (value1, value2, ... );
INSERT INTO person (id, name, age, sex)
VALUES (1, '이효리', 43, 'F');
INSERT INTO tablename
VALUES (value1, value2, ... );
SELECT - 데이터 조회
SELECT column1, column2, ...
FROM tablename;
- SELECT 예제 - person table 내의 이름, 나이, 성별 데이터 조회
SELECT name, age, sex FROM person;
SELECT * FROM tablename;
WHERE - 조건
SELECT column1, column2, ...
FROM tablename
WHERE condition;
- WHERE 예제 - person table에서 성별이 여자인 데이터 조회
SELECT * FROM person WHERE sex='F';
UPDATE - 데이터 수정
UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERE condition;
- UPDATE 예제 - 이효리 나이를 23세로 수정
UPDATE person SET age=23 WHERE name='이효리';
DELETE - 데이터 삭제
DELETE FROM tablename
WHERE condition;
DELETE FROM person WHERE name='이상순';