Mysql数据库增删改查及聚合函数要点及案例

1、插入数据

格式一:

insert into 表名(列名1,列名2,列名3...)  values(值1,值2,值3...);

格式二:

insert into 表名 values(值1,值2,值3....);

格式三:(仅限于Mysql数据库)

insert into 表名 values(值1,值2,值3...),(值1,值2,值3...),....;
#例:-- 向学生表中插入记录
insert into 学生表(学号,姓名,年龄,性别) values('102','李四',20,'男');

insert into 学生表  values('103','王五',20,'女');

insert into 学生表 values('104','赵六',21,'男'),('105','庄周',21,'女'),('106','蔡徐坤',22,'男');

2、 删除数据

格式一:删除整个表的数据

delete from 表名;

格式二:有条件的删除

delete from 表名 where 条件;多条件用and 或者or连接
delete from 表名 where  条件1 or 条件2 or 条件3...;

3、修改表中数据

update
格式一:针对一个列修改

update 表名 set 列名=值;例:update  学生表  set  年龄=20;

格式二:一次性修改多个列的值

update 表名 set 列名1=值,列名2=值,列名3=值;
#例如:
update 学生表 set 年龄=20,性别='男;

格式三:有条件的更新

update 学生表 set 列名=值 where 条件;

4、查询

4.1.格式:

select 列名 from 表名 ;
select * from 表名;查询所有
select   列名1  '别名1' ,列名2  '别名2',...  from  表名;

4.2.格式二:
select 列名1 as ‘别名1’,列名2 as ‘别名2’,… from 表名;
条件查询:

select 列名 from 表名 where 条件;

4.3.比较运算符= < > <= >= <> !=
范围查询[开始值,结束值]

select 列名 from 表名 where between 开始值 and 结束值;

4.4.不在某个范围之内的查询工作

select  列名  from 表名  where 列名  not between 开始值 and 结束值;

4.5.列表搜索条件 in

select 列名 from 表名 where 列名 in(值1,值2,值3...);

4.6.不要列表中的内容 not in

select  列名  from 表名 where 列名 not  in(值1,值2,值3....);

4.7.模糊查询 like

格式:select 列名 from 表名 where 列名 like '%名';

指定模式:通配符 % 代表是零个或者多个字符 _代表的是一个字符

王%: 王五 王五六 王五六七 王
王_ 王五
not like 排除指定模式的内容
格式:

select  列名  from  表名  where  列名  not like   '指定模式';

4.8.空值得查询
判断为空:is null

select 列名 from 表名 where 列名 is null;

判断不为空 is not null

select 列名 from 表名 where 列名 is not null;

5、聚合函数

sum(列名) 求和
avg(列名) 求平均值
max(列名) 求最大值
min(列名) 求最小值
count(*) 统计元组的个数
count(列名) 统计某个列的个数


注意:除了count(*)之外,其它函数做操作,均忽略空值
格式:
select 聚合函数  from  表名;

5.1.行数限定:limit 从多少行开始查询

select 列名 from 表名 limit(指定位置下标,行数);

5.2.分组查询:group by

select 聚合函数(列名) from 表名 group by 列名;

5.3.分组的条件限制:having

select  聚合函数(列名) from 表名 group by 列名 hanving  条键(聚合函数作为条件);

注意事项:1.having的使用必须有group by 2.having后面可以写聚合函数,但是where后面不可以直接写聚合函数。
5.4.排序:order by 对结果进行排序 降序desc,升序asc
#降序
select 列名 from 表名 order by 列名 desc;
#两个条件及多个条件排序序:
select 列名 order by  列名 desc,列名 asc;

5.5.
char_length:统计字符串中字符的长度(有多少个字符)
字符串的截取 mid(字符串,开始截取的位置,截取的长度)
格式:round(数据,保留的小数位) round(数据) 保留的整数位

获取最小值 least(值1,值2,值3…)
获取最大值 greatest(值1,值2,值3…)

对45.8793 保留3位小数

5.6.日期时间

now() 获取当前日期时间
current_date() 获取日期
current_time() 获取时间
to_days() 给定时间节点,看转换出的总天数
dayofyear() 已过的天数
week() 获取的是周数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大兴的王兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值