MySQL中的增删改查

今天的主要内容是讲关于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是主键

mysql给用户赋库的权限 mysql赋予用户增删改查权限_字段

这个表中的id是外键

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql_02

第一张表的id代表了学生id第二张表中的id也是学生id对应的成绩

如果两个id建立了主外键的关系那么无法先删除第一个表中的成绩

只能先删除第二张表中所有关于那个学生的成绩然后才可以删除改学生

修改

update 表名 set 列名=”值“ where 列名=”值“

例子

update usera set uname="小明" where sex="女"

查询

1.简单查询

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

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql给用户赋库的权限_03

select "aaa"+1

mysql给用户赋库的权限 mysql赋予用户增删改查权限_字段_04

取列别名适用于两张表有相同的字段时

1用as

select "aaa"+1 as name

2.空格

select "aaa"+1 name

mysql给用户赋库的权限 mysql赋予用户增删改查权限_表名_05

去重复前(原数据)

select uid from grade

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql_06

去重复后

select distinct uid from grade

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql_07

表达式

也可以取别名

select 100%98

MySQL中的+号

例子

如果两方都为数字则做加法运算

select 100+2

如果一方为字符

select "100"+2

可以自动转换

mysql给用户赋库的权限 mysql赋予用户增删改查权限_MySQL_08

如果转化不了默认字符串为0

select "a"+2

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql_09

一方为null结果为null

select null+2

例函数

count

select count (列名,列名)

也可取别名方法如上

select CONCAT(uname,sex) from usera

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql_10

复杂查询

运算符

= > < != >= <= <=>绝对等于 <>不等于

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的平均值

mysql给用户赋库的权限 mysql赋予用户增删改查权限_MySQL_11

select avg(id) id平均值 from usera GROUP BY sex="男"

mysql给用户赋库的权限 mysql赋予用户增删改查权限_mysql给用户赋库的权限_12