参考主体:http://c.biancheng.net/view/2600.html
1.CREATE主句
CREATE DATABASE IF NOT EXISTS <数据库名> DEFAULT CHARACTER SET <字符集名> DEFAULT COLLATE <排序方法名> ;
CREATE TABLE IF NOT EXISTS <表名> ( <列名> <数据类型> [<约束>] [,<列名> <数据类型> [<约束>] ] [,<约束 > ] )
- 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT
- 浮点数类型:FLOAT、DOUBLE
- 定点数类型:DECIMAL
- 日期/时间类型:YEAR、TIME、DATE、DATETIME、TIMESTAMP
- 字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET
- 二进制类型:BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
- 主键约束:PRIMARY KEY、PRIMARY KEY(主键列1,主键列2,…,主键列n)
- 外键约束:[CONSTRAINT <外键名>] FOREIGN KEY (外键列1,外键列2,…,外键列n) REFERENCES <主表名>(主键列1,主键列2,…,主键列n)
- 唯一约束:UNIQUE、CONSTRAINT <唯一约束名> UNIQUE(<列名>)
- 检查约束:CHECK(<表达式>)、CONSTRAINT <检查约束名> CHECK(<表达式>)
- 非空约束:NOT NULL
- 默认值约束:DEFAULT <默认值>
CREATE VIEW <视图名> [(列名1,列名2,…,列名n)] AS <SELECT语句>
CREATE FUNCTION <函数名> ( [ <参数1> <类型1> [ , <参数2> <类型2>] * ] ) RETURNS <类型> <函数主体>
CREATE PROCEDURE [<数据库名>.]<过程名> ( [ [ IN | OUT | INOUT ] <参数1> <类型1> [ ,[ IN | OUT | INOUT ] <参数2> <类型2>] * ] ) <过程体>
- 自定义结束符号:DELIMITER <自定义符号(反斜杠除外)>
CREATE TRIGGER [<数据库名>.]<触发器名> < BEFORE | AFTER > <INSERT | UPDATE | DELETE > ON <表名> FOR EACH ROW <触发器主体>
CREATE [UNIQUE] INDEX <索引名> ON <表名> (<列名> [<长度>] [ ASC | DESC] [,<列名> [<长度>] [ ASC | DESC]]* )
CREATE USER <用户名@主机名> IDENTIFIED BY [ PASSWORD ] <口令>