文章目录
- MySQL增删改查语法
- 插入
- 删除
- delete、truncate、drop区别?
- 修改
- 查询
- sum 和 count 的区别?
MySQL增删改查语法
插入
例:在student表中插入数据
- 所有的属性都必须包含
insert [into] 表名 values (值1,值2,值3,值4);(into可以省略)
批量插入: - 可以直接插入指定属性的值
insert into 表名 (属性名1,属性名2…)values(值1,值2…)
批量插入:
删除
- 删除部分
delete from 表名 where 筛选条件
(1)删除年纪大于60岁的人
(2)删除年纪为33岁的男生
MySQL逻辑运算符:
not 逻辑非 and 逻辑与 or 逻辑或 - 清空整张表:
delete from 表名;
truncate table 表名;(先删除,再重建)
delete、truncate、drop区别?
三者执行速度: drop > truncate >delete
- delete:只删除数据。可以rollback,可有条件得删除
- truncate:只删除数据,不可选择条件删除,不可rollback
- drop:删除数据 + 表结构
修改
- update 表名 set 属性名1 = 新数据1,属性名2 = 新数据2… where 筛选条件
(1)修改1号同学的2号科目成绩为90
(2)将id等于1的人名字改为张三,年龄改为43
查询
- 查看所有字段
select * from表名; - 查看指定字段
select 属性1 别名, 属性2 from 表名 ;
select 属性1, 属性2 from 表名 ; - 查看指定记录的所有字段
select * from 表名 where 筛选条件;
例:查询年纪为15岁并且是女生的 - 查看指定记录的指定字段
select 属性1 别名, 属性2 from 表名 where 筛选条件;
例:查询科目1成绩在60分以上的学生id
综合举例
- 名字最后一个字是明的。(模糊查询)
like:表示字符串是否相等
用法:like ‘字符串’
a. like只在匹配一个完整的字符串时与 ”=" 的效果一样;
b. 如果字符串中包含了通配符,就只能用 like,此时若用 “=” 会导致查询不到结果。
- 通配符:
%:任意个任意字符
_ :一个任意字符 (1个汉字是2个字符,一个“_”代表1个字符)
- 名字第一个字是小的 并且只显示前3个人
limit:限制查询数量。用法:limit off,len
off:初始位置 len:记录数 (off=0时,可以省略)
上述例子中limit关键字按照name排序。 - 查询年纪为 15 12 13的人
in:判断某个字段的值是否在指定的集合中
上面的 in(12,13,15) 换成 age=12 or age=13 or age=15 查询结果一样 - 升序:asc(可以省略),降序:desc
对名字第一个字是小字的人按照年龄排序(写两条sql一条升序排列一条降序排列) - count :计数
sum:求和
avg :求平均数
max min :最大 最小
group by :分组查询
(1)求各科课程的平均分
(2)求各科课程的总分
(3)求各科课程最好成绩
(4)求参加各科课程考试的学生个数 - 求出各科平均分大于60分的科目
having:分组查询 条件表达式,用于分组后的记录,用于选择满足条件的组。
where用于表或视图
cast 可以转换avg(score)的结果
sum 和 count 的区别?
sum:
是对符合条件的记录的数值列求和。不计算空值。
count:
是记录查询中符合条件的结果或记录的个数。(求行的个数)