SQLいろいろ
簡単なO/Rマッパーを作りたいので,SQL 文について自分なりにまとめてみる。
SQL には,
- データ定義言語(CREATE, DELETE, ALTER)
- データ操作言語(SELECT, INSERT, UPDATE, DELETE)
- データ制御言語(GRANT, REVOKE, etc...)
と3つの種類に分けられるらしい。
データ定義,データ操作のみ実装すればとりあえずよさそう。
文法
いろいろ省いてます。
CREATE DATABASE
CREATE DATABASE db_name
DROP DATABASE
DROP DATABASE db_name
CREATE TABLE
CREATE TABLE table_name ( column_name data_type [ ( NULL | NOT NULL ) ] [ UNIQUE ] [ DEFAULT default_value ] [ AUTO_INCREMENT ] [ [PRIMARY] KEY ] {, ... } ); data_type: INTEGER[(length)] [UNSIGNED] [ZEROFILL] | VARCHAR[(length)] | TEXT | TIMESTAMP | BOOL
DROP TABLE
DROP TABLE table_name {, table_name }
ALTER
SELECT
SELECT column_name {, column_name } FROM table_name {, table_name } [ WHERE where_condition ] [ LIMIT limit [, OFFSET offset] ] [ GROUP BY column_name {, column_name } ] [ ORDER BY column_name [ ASC | DESC ] {, column_name [ ASC | DESC ] } ]
GROUP BY ワカンネ。
INSERT
INSERT INTO table_name [ (column_name { ,column_name } ) ] VALUES ( VALUE_A1 {, VALUE_A2 } ) {, ( VALUE_B1 {, VALUE_B2 } ) } ;
UPDATE
UPDATE table_name SET column_name = value {, ... } [ WHERE condition ];
DELETE
DELETE FROM table_name { WHERE condition }