目录
DDL语句
DDL(Data Definition Language)语句即数据定义语句,这些语句用来定义数据段、数据库、表、列、索引等数据库对象。常用的语句关键字主要有create、drop、alter等。
创建数据库
CREATE DATABASE dbname;
查看已创建的数据库
SHOW DATABASES;
选择数据库
USE dbname;
删除数据库
DROP DATABASE dbname;
创建表
CREATE TABLE tablename(
column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints,
...
column_name_3 column_type_3 constraints)
查看表定义信息
DESC tablename;
SHOW CREATE TABLE tablename \G;
删除表
DROP TABLE tablename;
修改表
修改字段类型
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST|AFTER col_name];
ALTER TABLE tablename change [COLUMN] old_col_name column_definition [FIRST|AFTER col_name];
change 和modify都可以修改表中的字段定义,不同的是change后面需要写两次列名。但change可以修改字段名称,modify则不能。
增加表字段
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST|AFTER col_name];
删除表字段
ALTER TABLE tablename DROP [COLUMN] col_name;
修改字段排列顺序
前述字段增加和修改操作(ADD|MODIFY|CHANGE)中,都有一个可选项 FIRST|AFTER col_name,这个选项可以用来修改字段在表中的位置。ADD增加的新字段默认加在末尾,而CHANGE和MODIFY默认都不会改变字段在表中的位置。
DML语句
DML(Data Manipulation Language)语句,即数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字有insert、delete、update、select等。
插入记录
INSERT INTO tablename [(field1, field2, ...)] VALUES(value1, value2, ...);
更新记录
UPDATE tablename SET field1=value1,field2=value2, ... [WHERE CONDITION];
UPDATE t1,t2, ... SET t1.field1=expr1,t2.field2=expr2, ... [WHERE CONDITION];
删除记录
DELETE FROM tablename [WHERE CONDITION];
查询记录
SELECT * FROM tablename;
去重查询
SELECT DISTINCT col_name FROM tablename;
条件查询
SELECT * FROM tablename [WHERE CONDITION];
排序和限制
SELECT * FROM tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC], field2 [DESC|ASC], ...];
聚合
SELECT [field1,field2, ...] fun_name
FROM tablename
[WHERE CONDITION]
[GROUP BY field1,field2, ...]
[WITH ROLLUP]
[HAVING where_contition];
fun_name为聚合函数,常见的有sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。
GROUP BY表示要进行分类聚合的字段。
WITH ROLLUP表明是否需要对分类聚合后的结果进行再汇总。
HAVING表示对分类后的结果再进行条件过滤。having和where的区别在于,having是对聚合后的结果进行过滤,而where是在聚合前进行过滤。
表连接
表连接分为内连接和外连接,内连接仅选出两张表中互相匹配的记录,而外连接会选出其他不匹配的记录。外连接又分为左连接和右连接,左连接定义为包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录,而右连接则相反。
记录合并
SELECT * FROM t1
UNION|UNION ALL
SELECT * FROM t2
...
DCL语句
DCL(Data Control Language)语句,即数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字有grant、revoke等。