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
- https://dev.mysql.com/doc/refman/8.0/en/select.html
- https://dev.mysql.com/doc/refman/8.0/en/select-into.html
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>]