Post

(mysql) 일반적인 SQL

쿼리 테스트 (MySQL을 쓰는건지 모르겠지만 간단한 쿼리는 어차피 공통 문법이라)

https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

MySQL String Functions

https://dev.mysql.com/doc/refman/5.7/en/string-functions.html

CREATE TABLE | VIEW | DOMAIN

CREATE TABLE Syntax & Options 자주 사용하는 옵션만 포함하면 이렇다.

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE tbl\_name(
col\_name1 data\_type [NOT NULL] [AUTO\_INCREMENT] [PRIMARY KEY],
user\_id BIGINT UNSIGNED PRIMARY KEY AUTO\_INCREMENT,
mileage INT unsigned NOT NULL
. . .
[PRIMARY KEY (pk),]
[FOREIGN KEY (fk) REFERENCES \_tbl(\_col)
ON DELETE SET NULL
ON UPDATE CASCADE,]        -- SET DEFAULT, RESTRICT(NO ACTION)도 있음.
[CONSTRAINT 제약
CHECK(조건)]
);

FK 설정 시 신경써야 하는 것은 delete rule, update rule(CASCADE, …) 설정과, deferrable 설정이 있다.

ALTER TABLE
1
2
3
4
5
6
7
8
ALTER TABLE tbl\_name
ADD col\_name data\_type;

ALTER TABLE tbl\_name
DROP COLUMN col\_name;
ALTER TABLE tbl\_name
MODIFY COLUMN col\_name data\_type;

INSERT
1
2
INSERT INTO tbl\_name[(col\_name1, ...)] VALUES(col\_value1, ...);

column을 지정해주지 않는 경우 VALUES에 모든 항목을 적어주어야 한다.

UPDATE
1
2
3
4
UPDATE tbl\_name
SET col\_name1 = value1, col\_name2 = value2 + 300000, ...
WHERE condition;

DELETE
1
2
DELETE FROM tbl\_name [RESTRICT | CASCADE];

SELECT
1
2
SELECT [DISTINCT] col FROM tbl;

파일로 SQL 실행하기

work.sql 파일에 SQL을 작성해 놓은 다음

1
2
$ mysql -u sample -p sampledb < work.sql

또는 command line으로 접속한 다음

1
2
mysql> \. work.sql

This post is licensed under CC BY 4.0 by the author.