SQL

svenskpotatis·2023년 9월 5일
0

SQL

  • 데이터 정의 언어 (DDL: Data Definition Language)
    - CREATE, ALTER, DROP 등의 명령어
  • 데이터 조작 언어 (DML: Data Manipulation Language)
    - INSERT, UPDATE, DELETE, SELECT 등의 명령어
  • 데이터 제어 언어 (DCL: Data Control Language)
    - GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어
# root 계정으로 mysql 접속
% mysql -u root -p
Enter password:

Database

# 현재 database 목록 확인
SHOW DATABASES;

# 생성
CREATE DATABASE dbname;

# 이동
USE dbname;

# 삭제
DROP DATABASE dbname;
  • database 생성 - utf8mb4
CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4;

User

use mysql;
SELECT host, user FROM user;

# user 생성 - localhost
CREATE USER 'username'@'localhost' identified by 'password';

# user 생성 - % 외부에서 접속 가능한 사용자
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),  # varchar: python string, pandas object
    columnname datatype,
    columnname datatype,
    ...
);

# 목록 확인
SHOW TABLES;

# 정보 확인
DESC tablename;
  • table 변경
# table 이름 변경
ALTER TABLE tablename RENAME new_tablename;

# table에 column 추가
ALTER TABLE tablename ADD COLUMN columnname datatype;

# column datatype 변경
ALTER TABLE tablename MODIFY COLUMN columnname datatype;

# column name 변경
ALTER TABLE tablename CHANGE COLUMN old_columnname new_columnname;

# column 삭제
ALTER TABLE tablename DROP COLUMN columnname;

# table 삭제
DROP TABLE tablename;

0개의 댓글