【MySQL 第七天 运算符|数值函数|字符函数|日期时间函数|聚合函数|信息函数和加密函数】


在这里插入图片描述


【1】mysql运算符

在这里插入图片描述

【1.1】mysql算术运算数

在这里插入图片描述

读者信息表


在这里插入图片描述


/*算术运算符  计算store列的数据*/
select store,store+1,store-1,store/2,store*2,store%2 from bookinfo;

在这里插入图片描述


在这里插入图片描述


/*查看读者信息表*/
select*from readerinfo;

/*读者的身份证号 姓名 电话 余额*/
select card_id ,name,tel,balance from readerinfo where balance-200<=0;


在这里插入图片描述


【1.2】mysql比较运算符

在这里插入图片描述

/*查看读者信息表中,余额大于200的读者信息*/
select * from readerinfo where balance>200;

在这里插入图片描述

/*查看读者信息表中,余额不等于300的读者信息*/
select * from readerinfo WHERE balance !=300;
select * from readerinfo WHERE balance <>300;

在这里插入图片描述

/*查看读者信息表中,年龄不为空的读者信息*/
select *from readerinfo where age is not null;

在这里插入图片描述

/*查看读者信息表中,余额在200-400之间的读者信息*/
select *from readerinfo WHERE  balance between 200 and 400; 

在这里插入图片描述

/*查看读者信息表中,查看 DD AA LL 的读者信息*/
select *from readerinfo where name in('DD','AA','LL');

在这里插入图片描述

/*查看读者信息表中,名字是两个字的 姓A的读者信息  like是模糊查询 可以看作 像。。。 _和%都是通配符*/
select *from readerinfo where name like 'A_';
select *from readerinfo where name like 'D%';

在这里插入图片描述


/*查看读者信息表中,查看手机号是564 开头的读者信息*/
select *from readerinfo where tel like '564%';

在这里插入图片描述


【1.3】mysql逻辑运算符

在这里插入图片描述

图书信息表

在这里插入图片描述



/*查询图书信息表 查询书的价格大于50并且库存小于5的图书 信息*/
select *from bookinfo where price>50 and store<5; 

在这里插入图片描述

/*查询图书信息表 查询价格大于40或者 出版社为'你好' 的信息*/
select *FROM bookinfo WHERE price>40 or press = '你好';

在这里插入图片描述

/*查询图书信息表,查询书的价格不在40-50之间的图书信息*/
select *from bookinfo where price not between 30 and 50;

在这里插入图片描述


【2】mysql的数值函数

在这里插入图片描述

ceil :装天花板,装船内格子板;
floor :地面,地板; 楼层; 底部; 议员席;

在这里插入图片描述

/*获取整数的函数举例 */
select ceil(30.55);//进行四舍五入

在这里插入图片描述

select floor(30.55);//获取整数 不进行四舍五入

在这里插入图片描述


round :大约; 绕过,环绕; (表示位置)在…四周; 附近;
第三个:-1位后,是29.55四舍五入后=30

在这里插入图片描述

/*四舍五入*/
select round(30.55),round(30.55,1),round(30.55,0),round(30.55,-1),round(30.55,-2);

在这里插入图片描述


truncate :缩短;

第三个:截断 -1即 28中的8 不要后 =0  所以=20

在这里插入图片描述

/*截断函数*/
select truncate(28.55,1),truncate(28.55,0),truncate(28.55,-1);

在这里插入图片描述


在这里插入图片描述

/*取模函数*/
select mod(11,2);

在这里插入图片描述


在这里插入图片描述

图书信息表
在这里插入图片描述

-- 图书信息表 图书编号 书名 对价格四舍五入到整数位 
select book_id,book_name,price,round(price) from bookinfo;

在这里插入图片描述

-- 查询图书编号为偶数的
select * from bookinfo where mod(book_id,2)=0;

在这里插入图片描述


【3】mysql的字符子函数

图书信息表
在这里插入图片描述


concat :连接两个字符串
concat_ws :第一个参数作为字符串分割符 连接参数2和参数3字符串

在这里插入图片描述

-- 字符串连接 举例
select concat('今天是','一个','天气'); 

-- 字符串连接 有分割符
select concat_ws('-','mysql','sqlserver');

-- 查看图书信息表 将想要查看的数据 连接起来 
select concat_ws('-',book_id,book_copy_id,book_name,author,price,store,email,press,pubdate)
from bookinfo;

在这里插入图片描述


lower :小写
upper :大写

在这里插入图片描述

-- 字母转化小写举例
select lower('JFFJKFKFKF');

-- 字母转化为大写
select upper('kjfjdhgjfdngj');

-- 将图书信息表中的姓名 作者 列改为小写显示
select book_name,lower(book_name),author,lower(author) from bookinfo;

在这里插入图片描述


length :长度

在这里插入图片描述

-- 求长度 求读者信息表 的身份证 号的长度
select card_id,length(card_id) from readerinfo;

在这里插入图片描述


left trim :删除左侧空格
right trim :删除右侧空格
trim : 删除左右两侧空格

在这里插入图片描述

在这里插入图片描述

-- 插入一个有空格的作者
insert into bookinfo(book_id,author) values(4,' MM ');
-- 删除空格 左空格
select ltrim(' OO W');
-- 删除空格 右空格
select rtrim(' OOW ')
-- 删除空格 左右空格 并计算字符串长度
select trim('   123   '),length('   123   ');

-- 删除图书信息表中的 作者列的 空格
select author,trim(author) from bookinfo;

在这里插入图片描述


substring :截取子字符串

在这里插入图片描述

-- 截取字符串 从左到右
select substring('hello world',1,5);//hello

-- 截取字符串 从右到左
select substring('hello world',-4,3);//orl

-- 截取图书信息表中的出版社 
select press,substring(press,3,3) from bookinfo;

在这里插入图片描述


left :从左到右获取字符串个数
right :从右到左获取字符串个数

在这里插入图片描述

-- 获取指定的长度的字符串
select left('hello world',5),right('hello world',5),right('111111111111111111111',0);

在这里插入图片描述


replace :将参数1中的字符串 分出一部分作为参数2,将参数3的字符串替换参数2

在这里插入图片描述

-- 替换函数
select replace('123456789','123','sql');//sql456789

-- 替换图书信息表中的作者-》TMD
select author,replace(author,'MD','DD') from bookinfo;

在这里插入图片描述


format:格式化

在这里插入图片描述

-- 格式化 函数
select format(12333.2553,2),format(123.5,2),format(48348.98889,0);

-- 图书信息表 查询价格 整数
select price,format(price,0) from bookinfo;

在这里插入图片描述

在这里插入图片描述


【4】mysql日期时间函数

curdate/current_date:当前的日期 年月日

在这里插入图片描述

-- 查询当前的日期
select curdate(),CURRENT_DATE(),curdate()+0;

在这里插入图片描述


curtime/current_time:当前的时间

在这里插入图片描述

-- 获取当前的系统时间
select curtime(),current_time(),curtime()+0;

在这里插入图片描述


new/sysdate:日期+时间

在这里插入图片描述

-- 获取系统时间和日期
select sysdate(),now();

在这里插入图片描述


date_add:日期加    interval 5 month :间隔5个月

在这里插入图片描述

-- 日期加法运算
select date_add('2022-10-10',INTERVAL 5 MONTH);
-- 日期加法运算
select date_add('2022-10-10',INTERVAL 5 day);

在这里插入图片描述
在这里插入图片描述


datediff :两个日期不同的间隔天数

在这里插入图片描述

select datediff('2022-12-31','2022-1-1');

在这里插入图片描述


date_format:日期格式

在这里插入图片描述

-- 演示各种日期格式
select date_format('2022-05-09','%Y-%m-%d'),
date_format('2022-05-09','%Y-%M-%d'),date_format('2022-05-09','%Y-%c-%e'),
date_format('2022-05-09','%y-%c-%e'),date_format('2022-05-09','%Y-%b-%e');

在这里插入图片描述


在这里插入图片描述

相关信息表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


-- 身份证 52214685259788的用户 今天借了一本图书编号=0的图书 先插入这条数据
insert into borrowinfo values('20221010','52214685259788',curdate(),date_add(curdate(),interval 1 month),'否');
select *from borrowinfo;

-- 更新图书信息表的库存 查看图书编号=0的图书
select *from bookinfo where book_id =0;

update bookinfo set store =store-1 where book_id =0;

-- 更新读者信息表的余额 先插入这条数据 
insert into readerinfo values('52214685259788','1','yourfather','女',33,'223333',1000.000);

 -- 查询所借图书的价格
select price from bookinfo where book_id =0;
update readerinfo set balance = balance - 45.50*0.05 where card_id =52214685259788;

-- 查看余额
select balance from readerinfo where card_id =52214685259788;

在这里插入图片描述


-- 查看图书信息表 要求出版日期如:201103 这样的形式显示
select book_id,DATE_FORMAT(pubdate,'%Y%m')  from bookinfo;

在这里插入图片描述


【5】mysql聚合函数

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


【5.1】mysql 给列取别名

old_columnname as new_columnname

在这里插入图片描述

-- 求图书信息表 所有图书的平均价格
select avg(price) from bookinfo;
-- 所有图书的总价格
select sum(price) from bookinfo;
-- 最大库存
select max(store) from bookinfo;
-- 最小库存
select min(store) from bookinfo;

-- 求图书信息表有多少种图书
select count(book_name) from bookinfo;

-- 按类别book_copy_id进行分组 ,查询每种类别下有多少种book_id图书以及每种类别图书的store库存总和
select book_copy_id as '图书类别',count(book_id) as '图书种类',sum(store) as '库存总和' 
from bookinfo group by book_copy_id;


在这里插入图片描述


【6】mysql信息函数和加密函数

【1】version :版本号
【2】connection_id :连接的id
【3】database/schema :数据库名
【4】user:登录的用户名

在这里插入图片描述


-- 查看 数据库的 版本号
select version();

-- 查看当前登录的用户
select user();

-- 当前连接的次数
select connection_id();

-- 当前连接的数据库名
select schema(),database();

在这里插入图片描述


【1】MD5:加密字符串
【2】password:加密

在这里插入图片描述


-- 加密数据表 中的列
select md5(name) from test;

-- 创建临时数据表
create table md5_tab(
	username varchar(10),
	password varchar(35)
);

-- 插入数据 以加密方式加密密码
alter table md5_tab change password pw varchar(30);

-- 插入两个用户
INSERT into md5_tab VALUES('ps',MD5('ps'));
INSERT into md5_tab VALUES('kali',MD5('kali'));

-- 查看数据
select *from md5_tab;

-- 查看指定的用户的名字和密码
select * from md5_tab where username = 'ps' or pw=MD5('ps');

在这里插入图片描述


【6.1】使用password函数修改用户密码

使用password函数修改用户密码 密码存储在mysql数据库 表 
 set password = password('root');

在这里插入图片描述

 -- 查看已经修改的密码
select User,authentication_string from user;

在这里插入图片描述


== mysql学习继续,下一章我们将学习mysql子查询,等我猿 😕:/==

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Qt历险记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值