1、创建数据库
语法格式:
CREATE DATABASE 数据库名;
1.1、创建数据库,并指定字符集和校对规则
语法格式:
CREATE DATABASE 数据库名
DEFAULT CHAARACTER 字符集
COLLATE 校对规则;
1.2、进入到指定数据库中
语法格式:
USE 数据库名;
1.3、修改数据库默认字符集和校对规则
语法格式:
ALTER DATABASE 数据库名
DEFAULT CHARACTER SET 字符集
DEFAULT COLLATE 校对规则;
1.4、删除数据库
语法格式:
DROP DATABASE 数据库名;
1.5、显示数据库
语法格式:
SHOW DATABASES;
2、表
2.1、创建表
语法格式:
CREATE TABLE 表名
(列名 数据类型 是否允许为空,
列名 数据类型 是否允许为空);
2.2、向表中增加列
语法格式:
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 是否允许为空;
2.3、修改列的名称
语法格式:
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 是否允许为空;
2.4、修改指定列的类型
语法格式:
ALTER TABLE 表名 MODIFY 列名 数据类型 是否允许为空;
2.5、修改表名
语法格式:
ALTER TABLE 旧表名 (RENAME TO)/TO 新表名;
2.6、复制表结构
语法格式:
CREATE TABLE 新表名 LIKE 参照表名;
2.7、复制表结构和数据
语法格式:
CREATE TABLE 新表名 AS (SELECT * FROM 目标表名);
2.8、删除表
语法格式:
DROP TABLE 表名;
2.9、显示表文件名
语法格式:
SHOW TABLES;
2.10、显示数据表结构
语法格式:
DESC/DESCRIBE 表名;
2.11、显示指定列的结构
语法格式:
DESC/DESCRIBE 表名 列名;
3、数据操纵
3.1、插入表数据
语法格式:
INSERT INTO 表名 VALUES(列名,列值),(列名,列值...);
3.2、修改表数据
语法格式:
UPDATE 表名 SET 列名=表达式;
3.3、符合判断条件的修改数据
语法格式:
UPDATE 表名 SET 列名=表达式 WHERE 条件;
3.4、删除某行的数据值
语法格式:
DELETE FROM 表名 WHERE 条件;
3.5、从多个表中删除行
语法格式:
DELETE FROM 表名列表 WHERE 条件;
4、数据查询
4.1、查询指定列的信息
语法格式:
SELECT 列名 FROM 表名;
4.2、定义列别名
语法格式:
SELECT 列名 AS 别名;
4.3、替换查询结果中的数据
语法格式:
SELECT 列名
CASE
WHEN 条件 THEN 表达式
...
ELSE 表达式n
END AS 查询结果的列名
FROM 表名;
4.4、消除查询中的重复行
语法格式:
SELECT DISTINCT 列名 FROM 表名;
4.5、统计某列的总数
语法格式:
SELECT COUNT(值) AS 别名 FROM 表名;
4.6、求某列中最大的值
语法格式:
SELECT MAX(列名) FROM 表名;
4.7、求某列中最小的值
语法格式:
SELECT MIN(列名) FROM 表名;
4.8、求某列的总和
SELECT SUM(列名) FROM 表名;
4.9、求平均值
语法格式:
SELECT AVG(值) FROM 表名;
4.10、条件判断查询
语法格式:
SELECT * FROM 表名 WHERE 条件;
4.11、模式匹配查询
语法格式:
SELECT 要显示的列名 FROM 表名 WHERE 条件 LIKE '张%'; 说明:这是匹配字段为姓张的名称
或
SELECT 要显示的列名 FROM 表名 WHERE 条件 LIKE '高启_'; 说明:查找名称前两个字为“高启”最后一位字的名称
4.12、转义字符
语法格式:
SELECT 要显示的列名 FROM 表名 WHERE 条件 LIKE '%#_%' ESCAPE'#'; 说明:'%#_%'匹配下划线 使用ESCAPE'#'转义字符原本的意义,使其变成原始字符
4.13、范围比较
语法格式;
SELECT * FROM 表名 WHERE 表达式 BETWEEN 表达式1 AND 表达式2;
4.14、IN子查询
语法格式:
SELECT * FROM 表名 WHERE IN(表达式1,表达式...);
4.15、空值判断
语法格式:
SELECT * FROM 表名 WHERE 字段 IS NULL;
4.16、内连接
语法格式 :
SEECT * FROM 表1 INNER JOIN 表2 ON(连接条件); 说明:连接条件就是两个表相同字段相同时连接,例如:(表1.图书编号=表2.图书编号)
4.17、内连接的多表连接
语法格式:
SEECT * FROM 表1 JOIN 表2 ON(连接条件) JOIN 表2 ON(连接条件);
4.18、USING连接
语法格式:
SELECT 显示列 FROM 表1 JOIN 表2 USING(字段); 说明:字段必须是连接的两表共有的字段值
4.19、左外连接
语法格式:
SELECT * FROM 表1 LEFT OUTER JOIN 表2 ON 连接条件;
4.20、右外连接
语法格式:
SELECT * FROM 表1 RIGHT JOIN 表2 ON 连接条件;
4.21、比较子查询
语法格式:
SELECT * FROM 表名 WHERE 字段 = ANY(SELECT 显示列 FROM 表名 WHERE 条件); ANY 匹配字段 有一个相同就为true
SELECT * FROM 表名 字段>ALL(SELECT 显示列 FROM 表名 WHERE 条件); ALL 匹配字段 所有相同就为true
4.22、EXISTS 子查询
语法格式:
SELECT * FROM 表名 WHERE EXISTS (表达式);
4.23、GROUP BY 子查询
语法格式:
SELECT * FROM 表名 GROUP BY 分组字段值;
4.24、对统计数据进行分类小计
语法格式:
SELECT * FROM 表名 GROUP BY 分组字段值 WITH ROLLUP;
4.25、HAVING 子句
语法格式:
SELECT * FROM 表名 GROUP BY 分组字段值 HAVING 判断条件;
4.26、ORDER BY 子句(排序)
语法格式:
SELECT * FROM 表名 ORDER BY 排序字段值 ASC/DESC; 说明:ASC升序 DESC 降序
4.27、LIMIT 子句(限制语句返回的行数)
语法格式:
SELECT * FROM 表名 ORDER BY 排序字段值 LIMIT 显示行数; 说明:显示行数,也可以写成3,5表示从第四条开始记录的5条数据