SQL基础
Contents
CREATE DATABASE
|
|
创建名称为dbname的数据库
CREATE TABLE
|
|
创建名为mytable的数据表。数据表中有条目userid(非负整数,自增), email(字符串,最长256位),phone(字符串,最长20位),数据条目的3个域均不能为null值。userid为数据表的主键。
CREATE INDEX
|
|
以column_name域创建索引,允许重复值。
|
|
创建索引,但是索引值不允许重复值。
SELECT
SELECT语句是数据库最基本的操作,用来选中数据表中的特定域。
|
|
选中column_name1和column_name2两个域
|
|
选中数据表中的所有域
SELECT INTO
|
|
选中数据表中的条目,将结果输出到一张新表中
LIMIT
|
|
输出选中所有条目的前number个条目
WHERE
|
|
WHERE语句用来限定选中条目的特征,例如从数据表中选出ID为某个范围的条目
ORDER BY
|
|
ORDER BY语句用来限定输出的条目的顺序,以上语句首先按照column_name3域降序排列,其次按照column_name4域升序排列
INSERT INTO
|
|
在数据表中插入新的条目,各个域的值依次为value1, value2, …
|
|
插入条目,但是指定该条目的各个域的值,若某个于没有指定值,则为null或者默认值
INSERT INTO SELECT
|
|
table2与table1结构相同,将table1的所有条目复制到table2中
|
|
将table1中选出的条目插入到table2中(table2与table1表结构可以不同)
UPDATE
|
|
以上特定条目的column1域的值更新为value1, column2域的值更新为value2
DELETE
|
|
删除数据表中满足特定条件的条目
DROP
|
|
删除数据表中的某个索引(MySql)
|
|
删除数据表
|
|
删除数据库
|
|
删除数据表中的数据,但是不删除数据表本身
ALTER
|
|
在数据表中添加新域
|
|
删除数据表中的某个域
|
|
修改数据表中某个域的数据类型(MySql)
IN
|
|
选中column_name域的值为value1,value2 或者…的条目
BETWEEN
|
|
选中column_name域的值在区间[value1, value2]内的条目
LIKE
|
|
选中数据表中column_name域具有符合pattern模式的条目
pattern中可以使用通配符,SQL通配符可以参见w3schools
IS NULL
|
|
IS NULL作为WHERE筛选条件,选中数据域为NULL的条目
AS
|
|
将column_name取别名
|
|
将所有选出的条目作为名称为alias_name的数据表
AS的详细用法请参见w3schools
AND, OR
|
|
AND和OR用来连接WHERE语句中的多个筛选条件
JOIN
JOIN语句用来合并多张表的不同域,JOIN的详细用法参见w3schools
UNION
|
|
合并table1和table2的查询结果(选中域应当一致),查询结果只包含不同的条目 如果要保留重复条目,应该使用UNION ALL
Constraint
在创建数据表时,可以使用CONSTRAINT来限定数据域的属性
NOT NULL
–> 数据域的值不可为NULLUNIQUE
–> 数据域的值不可有重复值AUTO_INCREMENT
–> 数据域的值自增(该数据域是数字类型而且为UNIQUE)PRIMARY KEY
–> 该数据域是数据表的主键(主键隐含NOT NULL和UNIQUE属性)FOREIGN KEY
–> 该数据域是另一个数据表的主键,用于链接另一个关联的数据表CHECK
–> 检查数据域的值是否满足特定条件DEFAULT
–> 设定数据域的默认值COMMENT
–> 设置数据域的注解
Comment
SQL语言中有两种添加注解的方式
|
|
本文辑录了最常用的SQL语句,可作为SQL速查目录。本文的内容来自w3schools,更详细和高级的内容可以在那里阅读。
Author Yaqiu Liu
LastMod 2017-03-02