【MySQL数据库基础入门0620】

本文介绍了如何使用SQL的limit、group by和函数进行数据查询,包括限制记录数量、按库存统计图书及价格四舍五入示例。涵盖了运算符、数值函数和字符函数的应用,重点展示了图书价格的粗略统计和偶数图书ID筛选。
摘要由CSDN通过智能技术生成

5.8 Limit 限制查询记录的数量

/*前面通过select查询是满足条件的整行数据
limit [位置偏移量,] 行数 
第一条的位置偏移是0开始,行数就是返回数据的条数*/
select * from bookinfo limit 3;	/*显示图书信息表的前3行数据*/
select * from bookinfo limit 2,2;	/*显示从第3条记录开始后的2条数据*/

INSERT INTO bookinfo(book_id,book_category_id,book_name,author,price,press,pubdate,store)
VALUES
(20160011,4, '高性能MySQL', 'Baron Schwartz等',85.8, '电子工业出版社', '2013-04-01', 10),
(20160210,4, '数据库系统基础教程', '[美]厄尔曼等', 35.5, '机械工业出版社', '2009-08-01', 20),
(20170050,4, '数据库系统实现', '[美]加西亚·莫利纳 ', 46.6, '机械工业出版社', '2010-05-01',8);
/*插入测试数据*/

-- 将图书信息按照库存进行分组,统计每组库存下的个数,然后按库存降序排序,并查看结果种的前四条数据
select store,count(*) from bookinfo group by store; /*按库存分类显示个数*/
select store,count(*) from bookinfo group by store order by store desc;	/*降序排列*/
select store,count(*) from bookinfo group by store order by store desc limit 4;	/*只显示前4条数据*/

6 基础运算符与函数

6.1 运算符

/*运算符:算术运算符,比较运算符,逻辑运算符
+ - * /	加减乘除
% 取余(取模)
*/
select * from bookinfo;
select store,store+1,store-1,store/2,store*2,store%2 from bookinfo;

6.2 数值函数

/*数值函数(数学函数),主要用来处理数值数据的函数
*/
-- 获取整数的函数
	-- 返回大于 x 的最小整数值
	select ceil(28.55);	/*大于28.55的最小整数值*/
	-- 返回小于 x 的最大整数值
	select floor(28.55);	/*小于28.55的最大整数值*/
	
-- 四舍五入的函数
	-- 返回最接近参数 x 的整数,对参数 x 进行四舍五入
	select round(28.55);	/*对28.55四舍五入,返回29*/
	-- 返回最接近参数 x 的数,保留到小数点后的 y 位,若y 为负值,则将保留 x 值到小数点左边 y 位
	select round(28.55,1),round(28.55,0),round(28.55,-1);
	/*返回的结果:28.6  29  30*/
	
-- 截断函数
	/*truncate(x,y) 返回被舍去至小数点后 y 位的数字x,如y 为0,则结果为整数,如 y 为负值,则截去 x 小数点左起第 y 位开始后面有低位的值*/
	select truncate(28.55,1),truncate(28.55,0),truncate(28.55,-1);
	/*返回结果:28.5  28  20*/
	
-- 取模(求余)
	select mod(11,2);	/*返回11被2除后的余数,返回结果1 */
-- 案例
/* 现需要对图书的价格进行粗略统计,要求查看图书信息表中的图
书编号,书名,四舍五入书的价格到整数位。*/
SELECT book_id,book_name,price,ROUND(price) FROM bookinfo;

/*·查询图书编号为偶数的图书信息。*/
SELECT * FROM bookinfo WHERE MOD(book_id,2)=0;
SELECT book_id,MOD(book_id,2) FROM bookinfo;	/*该写法只显示book_id和mod*/

6.3 字符函数

-- 字符连接函数
/*concat(s1,s2...)返回结果连接,一个参数未null,就返回值为null*/
select concat('hello','world');	/*返回结果helloworld*/
/*concat_ws(x,s1,s2,...)第一个参数x是分隔符,分隔符可以是字符串也可以是其它参数,分隔符为null,则结果为null*/
select concat_ws('-','hello','world');	/*返回结果hello-world*/

-- 字母转换大小写函数
select lower('Hello World');	/*lower全部转换为小写字母*/
select upper('hello world');	/*upper全部转为大写字母*/

-- 求字符串长度的函数
select length('hello');	/*返回值为字符串的字节长度*/

-- 删除空格的函数
select ltrim(' hello ');	/*ltrim删除左边的空格*/
select rtrim(' hello ');	/*rtrim删除右边的空格*/
select trim(' hello ');		/*删除两侧的空格*/

-- 截取字符串
/*substring(s,n,len)从字符串s返回一个长度同len相同的长度,起始位置n
如果 n 是负数,则字符串的位置起始于字符串结尾的 n 个字符*/
select substring('hello world',1,5);	/*substring从字符串hello world返回一个5个长度,起始位置1*/
select substing('hello world',-3,2);	/*返回结果:rl*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值