今天的主要内容是讲关于MySQL中的查询
简单讲增加删除修改
insert into 表名(列明,列明,列明,列明) value(值,值,值,值)
示例1(不写列名的添加)
insert into usera value (1,"小明","男")
示例2(写列名添加)
insert into usera (id,uname) value (2,"小强")
delete from 表名字 where 列明=”值“
加where就写想要删除当前表哪条符合条件的数据
不加就是删除表中所有的数据
例1
delete from usera where uname="小明"
例2
delete from usera
注意
如果该表的某个字段和另一个表建立了主外键链接就不能删除该条数据
例如
这个表中的id是主键
这个表中的id是外键
第一张表的id代表了学生id第二张表中的id也是学生id对应的成绩
如果两个id建立了主外键的关系那么无法先删除第一个表中的成绩
只能先删除第二张表中所有关于那个学生的成绩然后才可以删除改学生
update 表名 set 列名=”值“ where 列名=”值“
例子
update usera set uname="小明" where sex="女"
select 查询列表 from 表名
特点
查询列表:
1.表中字段
2.常量值
3.表达式
4.函数
查处的表格可以为虚拟表格
例:表中字段
select uname from usera
select uname,sex from usera
select id,uname,sex from usera
select * from usera
例:常量值
select 100+1
select "aaa"+1
取列别名适用于两张表有相同的字段时
1用as
select "aaa"+1 as name
2.空格
select "aaa"+1 name
去重复前(原数据)
select uid from grade
去重复后
select distinct uid from grade
表达式
也可以取别名
select 100%98
MySQL中的+号
例子
如果两方都为数字则做加法运算
select 100+2
如果一方为字符
select "100"+2
可以自动转换
如果转化不了默认字符串为0
select "a"+2
一方为null结果为null
select null+2
例函数
count
select count (列名,列名)
例
也可取别名方法如上
select CONCAT(uname,sex) from usera
运算符
= > < != >= <= <=>绝对等于 <>不等于
and 并且 not 不 or 或者
like 模糊查询 _占位 between and 在什么 之间 in 在什么里面 is null 为空
注意
<=>这是绝对等于
判断是否为null时时 where name is null
判断是否为小明时 where name =“小明”
而<=>包括了=和is可以通用
where name <=>null
where name <=>小明
like 和_例
查询第二个字为明的人
select * from usera where uname like ‘_明%’
百分号表示后面任意个数量的任意字符
_表示一个数量的任意字符
排序查询
select * from 表名 where 条件 order by 单个字段/表达式 asc/desc;
注意
order by 在查询语句的最后面,limit除外
分组查询
sum(总和) avg(平均值) max(最大值) min(最小值) count(计算个数)
select sum(id) id总和 from usera
select avg(id) id平均值 from usera
select max(id) id最大值 from usera
select min(id) id最小值 from usera
select count(*) 行数 from usera
注意
group by 是分组的意思
例子
根据男女分组id的平均值
select avg(id) id平均值 from usera GROUP BY sex="男"