DML是Data Manipulation Language英文缩写,数据操作语言
包括:
INSERT ( 添加语句 )
UPDATE ( 更新语句 )
DELETE ( 删除语句 )
语法:INSERT [INTO] 表名 [(列名)] VALUES (值列表);
实例:INSERT INTO goods (name) VALUES ('饼干');
1.1 插入单行数据
注意:
字段名是可选的,如省略依次插入所有字段。
INSERT INTO goods VALUES (8,'肥皂',DEFAULT,'2021-09-02',100);
插入的数据项,需求符合外键约束。
值列表和字段名列表一一对应。
具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值。
INSERT INTO goods VALUES (DEFAULT,'肥皂',DEFAULT,'2021-09-02',100);
1.2 插入多行数据
语法:INSERT INTO 新表(字段名列表)VALUES(值列表1),(值列表2),……,(值列表n);
实例:INSERT INTO goods VALUES (DEFAULT,'肥皂',DEFAULT,'2021-09-02',100),(DEFAULT,'方便面 ',DEFAULT,'2021-09-03',200);
经验:为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名。
语法:UPDATE 表名 SET 字段1=值1,字段2=值2,…,字段n=值n [WHERE 条件];
实例:UPDATE goods SET cnt = 500 WHERE id = 10;
注意:
SET后可选择多个字段,用逗号隔开。
勿忘条件限制,以防有效数据的丢失。
语法:DELETE FROM 表名 [WHERE条件];
实例:DELETE FROM goods where id = 17;
注意:
在主外键关联表,先删除外键表数据,再删除主键表数据。
DQL是Data Query Language英文缩写,数据查询语言。
特点:
查询数据库数据,如SELECT语句。
数据库语言中最核心、最重要的语句。
使用频率最高的语句。
DQL常用查询语句
基本查询、条件查询、多条件查询、模糊查询、分组查询、链接查询、子查询。
DQL包含的应用
AS关键字、运算符、IN关键字、BETWEEN AND关键字、DISTINCT关键字、ORDER BY关键字、LIMIT关键字、NULL关键字、HAVING关键字、聚合函数。
语法:SELECT 列名 FROM 表名;
实例:SELECT * FROM goods; 或 SELECTnameFROM goods;
经验:查询全部列表用 * 。
功能:
给数据列表取名。
SELECT cnt AS '数量' FROM goods;
给表取名。
可把经计算或总结的结果用另外一个新名称来代替。
1.1 单条件查询
条件查询是通过WHERE子句进行检索的查询方式。
语法:SELECT * FROM 表名 WHERE 字段=值;
实例:SELECT * FROM goods WHERE id = 10;
1.2 运算符
它是用来进行列间或者变量之间的比较和数学运算的一种符号
算数运算符
关系运算符
赋值运算符
逻辑运算符
1.3 多条件查询
多条件查询是利用逻辑运算符把多个条件组合起来的条件查询。
语法:SELECT * FROM 表名 WHERE 字段1=值 逻辑运算符 字段2=值;
实例:SELECT * FROM goods WHERE id = 8 AND cnt = 100;
1.4 IN
查询符合括号内条件的数据
语法:SELECT 字段列1,字段2 ,…FROM 表名 WHERE 字段 IN ( 值1,值2,值3…) ;
实例:SELECT * FROM goods WHERE id IN(3,8); // id是3和8的数据
1.5 BETWEEN AND
查询值1和值2区间的数据,并且包含值1和值2。
语法:SELECT 字段列1,字段2 ,…FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;
实例:SELECT * FROM goods WHERE id BETWEEN 1 AND 10;
1.6 模糊查询
模糊查询是使用 SQL 通配符替代一个或多个字符的条件查询。
通配符
一类字符,代替一个或多个真正的字符。
与LIKE关键字一起使用。
语法:SELECT * FROM 表名 WHERE 字段 like ‘包含通配符的值’;
实例:SELECT * FROM goods WHEREnameLIKE '%可乐';
1.7 DISTINCT
去掉SELECT查询返回的记录结果中重复的记录, 相同记录只返回一条。
语法:SELECT DISTINCT 字段名1, 字段名2... FROM 表名;
实例:SELECT DISTINCT cnt FROM goods;
1.8 ORDER BY
一组数据按照升序或降序排列。
语法:SELECT <字段名列表> FROM <表名> [WHERE <查询条件>][ORDER BY <排序的列名> [ASC 或 DESC]]
实例:
升序:SELECT * FROM goods ORDER BY id ASC;
降序:SELECT * FROM goods ORDER BY id DESC;
1.9 NULL
特点:
区别空字符串’‘
只能出现在定义允许为NULL的字段
须使用 IS NULL 或 IS NOT NULL 比较操作符去比较
语法:SELECT * FROM comments WHERE cmtAuthor IS NULL;
实例:
字段空:SELECT * FROM goods WHERE cnt is NULL;
字段非空:SELECT * FROM goods WHERE cnt is not NULL;
1.10 聚合函数
聚合函数是可以对一组值进行计算,并返回单个值的函数。
总数 COUNT()
求和 SUM()
平均值 AVG()
最大值 MAX()
最小值 MIN()
语法:SELECT 聚合函数 FROM <表名>
实例:SELECT COUNT(cnt) AS '数量' FROM goods;
经验:可以加 AS 来改名,SELECT 聚合函数 AS 名称 FROM <表名>
作者:张子伦
原文链接:https://blog.csdn.net/qq_49956121/article/details/120166916