6.1课堂笔记—DML(数据操作语言),DQL查询语句

时间:2023-03-09 16:27:20
6.1课堂笔记—DML(数据操作语言),DQL查询语句
一、DML(数据操作语言)
InnoDB MyISAM
支持事务 不支持事务
不支持全文索引 支持全文索引
支持外键约束 不支持
命令查看默认存储引擎
show variables like '%storage_engine%';
1.表中插入数据
#添加课程
INSERT INTO `subject`
VALUES (5,'C#',160,1);
#插入多门课程
INSERT INTO `subject`(subjectName,classHour,gradeID)
VALUES ('数学',110,2),('语文',170,2),('英语',140,2);
插入数据时,最好写上字段名 #将查询结果插入新表
create TABLE `phoneList`(
SELECT studentName,phone FROM student
);
2、更新数据
update table 表名 set 字段=值 where 条件 3、删除数据
delete from 表名 [where 条件]
清空表数据
truncate table 表名;
TRUNCATE语句删除后将重置自增列,表结构及其字段、约束、索引保持不变,执行速度比DELETE语句快
二、DQL查询语句
SELECT * from `subject`;
SELECT subjectNo,subjectName,classHour,gradeID FROM `subject`; * 效率比较低(不推荐使用)
AS 给字段名取别名,可以省略
SELECT
subjectNo '编号',
subjectName '课程名称',
classHour '学时',
gradeID '年级ID'
FROM `subject`;
给表名取别名
#查询两张表 笛卡尔积
SELECT
s.studentNo,s.studentName,r.studentResult
FROM
student as s,result as r;
DISTINCT(去重复查询) i between a and b 相当于 i>=a and i<=b
is null 判断字段值是否为空
SELECT * FROM student AS s
WHERE s.IdentityCard is NOT null
in 是范围查询
SELECT * FROM result AS r
WHERE r.studentResult IN (70,80,90);
like 模糊查询
#查询所有姓李的学生
_
%
SELECT * FROM student AS s
WHERE s.StudentName LIKE '李%';