Skip to main content

MySQL


CMD

Execute .sql

mysql <db_name> < </path/sql_file>

or

SOURCE </path/sql_file>

Database

CREATE Database

CREATE DATABASE <db_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

Table

CREATE TABLE

CREATE TABLE
`<table>`
(
<column> <type> <constraints>
[,<column> <type> <constraints> ...]
[,<table_constraints> ...]
)
SHOW CREATE TABLE `<table>`

ALTER TABLE

ALTER TABLE
`<table>`
[<alter_option>[,<alter_option>]]
[<partition_option>[,<partition_option>]]

ALTER TABLE ADD

ALTER TABLE
`<table>`
ADD
[COLUMN] `<column>` <col_definition>
[FIRST | AFTER `<column>`]

ALTER TABLE MODIFY

ALTER TABLE
`<table>`
MODIFY
[COLUMN] `<column>` <col_definition>
[FIRST | AFTER `<column>`]

ALTER TABLE DROP

ALTER TABLE
`<table>`
DROP
[COLUMN] `<column>`

Data

INSERT

INSERT INTO
`<table>` [(<col_name>[,<col_name>])]
VALUES
(<value>[,<value>])

LOAD DATA

LOAD DATA [LOCAL] INFILE '<path>' INTO TABLE `<table>`
[FIELDS [TERMINATED BY '<string>'] [ENCLOSED BY '<char>']]
[LINES [STARTING BY '<string>'] [TERMINATED BY '<string>']]
[IGNORE <number> ROWS]
[(<col_name_or_user_var>[,<col_name_or_user_var>])]
[SET
<col_name>=<expr>[,
<col_name>=<expr>]]
  • LOCAL: 파일이 Client에 있는 경우
warning

LOCAL 옵션을 사용할 때, ERROR 2068 (HY000)에러가 발생할 수 있습니다. mysql --local-infile=1 ... 명령어로 클라이언트를 실행하면 해결 될 수 있습니다.

info

SELECT ... INTO OUTFILE ...명령어로 옵션에 따라 파일이 어떻게 출력되는지 확인한 후 LOAD DATA 명령어를 사용할 수도 있습니다.

LOAD DATA LOCAL INFILE 'example.tsv' INTO TABLE `example`
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
(col1, @var1)
SET
col2 = @var1/10

SELECT

SELECT
<select_expr>
FROM
<table_references>
[WHERE
<where_condition>]
[LIMIT
<row_count> [OFFSET <offset>]]
[INTO
<into_option>]
  • LIMIT a OFFSET b는 b+1 번째 row부터 b+a 번째 row 까지를 의미합니다.
warning

SELECT ... INTO OUTFILE ... 명령어는 서버에 파일을 생성합니다. 따라서 클라이언트에 파일을 생성하려면 mysql ... -e "SELECT ..." > <path> 명령어를 사용해야 합니다.

UPDATE

UPDATE
`<table>`
SET
<assignment_list>
[WHERE
<where_condition>]

DELETE

DELETE FROM
`<table>`
[WHERE
<where_condition>]