一.数据库拓展
二.课后作业
Q:按照我们课堂操作,回顾总结下这 14 天的课程内容。并上传结果。
******DML******
--- 单表查询
SELECT 列 FROM 表; ---二维表
--- * 常数 四则运算 DISTINCT CONCAT CONCAT_WS
--- 别名 AS
ORDER BY 列; --- 最后一条子句
--- ASC DESC 作用紧跟着的列
--- 2,3 不建议
WHERE 过滤条件; --- SELECT 之后
--- 列 > = < != BETWEEN...AND... IN IS NULL IS NOT NULL
--- CONVERT(... USING gkb)
--- 模糊查询 LIKE _%
--- 多条件过滤 AND OR
聚合函数,不检索,只汇总
COUNT()
--- 1 * col ---NULL DISTINCT
SUM()
--- NULL
AVG()
--- NULL
MAX()
MIN() --- 文本格式
GROUP BY 列; --- 聚合键 尽量不要用别名
SELECT 聚合键,聚合函数 FROM 表;
HAVING 聚合函数 > = < !=
--- 聚合键在WHERE中过滤
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ...ORDER BY ...;
FROM ... WHERE ... GROUP BY ... HAVING ... SELECT ... ORDER BY... ---执行
---数据类型
数值型
INTEGER DECIMAL FLOAT ---(宽度,小数点后位数)
ABS() ROUND()
文本型
CHAR VARCHAR ---(字符个数)
LENGTH() CHAR_LENGTH() RTRIM() LTRIM() UPPER() LOWER()
日期型
DATE TIME DATETIME
YEAR() HOUR() MONTH() MONTHNAME() NOW() CURDATE() CURTIME() DATE_ADD() DATE_SUM()
--- 多表查询
--- 子查询
标量子查询 -- 用法和常数
关联子查询 -- 组内使用常数 WHERE 在子句内
普通子查询 -- 一整列,IN,--二维表,新的检索表
-- 联结 ---列
内联结 自联结 INNER JOIN ... ON
外联结 OUTER JOIN ... ON .... ---LEFT/RIGHT/FULL
--组合 --- 行
UNION
UNION ALL 不去重
--- 增删改
INSERT INTO 表 VALUES( , , );
INSERT INTO 表 ( , , ) VALUES( , , );
INSERT INTO 表 SELECT 列 FROM 表;
注意 NULL
UPDATE 表
SET 字段 = 常数、NULL
WHERE 过滤条件;
DELETE FROM 表
WHERE ...;
TRUNCATE TABLE 表;
******DDL******
--创建
CREATE TABLE 表
(
字段 数据类型 字段属性,
);
CREATE TABLE 表
AS
SELECT 列 FROM 表;
RANAME 表 TO 新表名;
--修改
ALTER TABLE
ADD 字段 数据类型 字段属性;
DROP 字段, DROP 字段;
DROP COLUMN 字段;
MODIFY COLLUMN 字段 数据类型 字段属性;
--删除
DROP TABLE 表名;
--视图
CREATE VIEW 视图名
AS
SELECT 列 FROM 表;
DROP VIEW 视图名;
PROCEDURE
BEGIN END
CALL
******DCL******
COMMIT;
ROLLBACK;
SAVEPOINT;
RELEASE SAVEPOINT 保留点名;