mysql 学习3 mysql的查询语句

本文深入解析MySQL查询语句的多种应用,包括条件筛选、排序、分页、模糊查询及字符串操作等高级功能,帮助读者掌握高效数据检索的实战技巧。

mysql的查询语句

SELECT id,name

FROM student

WHERE city='北京'

ORDER BY id ASC

 

SELECT id,name

FROM student

WHERE city='北京'

ORDER BY id DESC

// desc是降序

// 别名

SELECT id,name,city AS home

FROM student

WHERE city='北京'

ORDER BY id DESC

// 如何查询空行

//空行就是 某一列为null 值的行

SELECT *

FROM student

WHERE level IS NULL

// 常量列 增加中国这列常量

SELECT id,name,city,'中国' as country

FROM student

WHERE city='北京'

ORDER BY id DESC

 

// 分页从索引0开始取 取3条

SELECT id,name,city

FROM student

limit 0,3

// 0是索引位 表示第一条

// 查询同学们都来自于哪些不同的城市DISTINCT 不会有重复出现

可以过滤相同的城市

SELECT DISTINCT city

FROM student;

// +sql 只能用来加数字

SELECT 1+1;

SELECT 1+'1';

// 结果都是2

SELECT CONCAT('a','b');// ab

 

//查询山东省的男同学

SELECT *

FROM student

WHERE province ='山东省' AND gender=1;

// 查询没有填写电子邮件的同学姓名和身份证号

SELECT name,idcard

FROM student

WHERE email IS NULL

// 把学生的分数 升序排列

SELECT *

FROM score

ORDER BY grade DESC

//课程编号升序 分数降序 某列升序 某列降序

SELECT *

FROM score

ORDER BY course_id ASC,grade DESC

// like匹配 模糊查询

SELECT * FROM student

WHERE name LIKE '郭%'// 以郭开头

WHERE name LIKE '%郭'// 以郭结尾

WHERE name LIKE '%郭%'// 全部匹配

WHERE name LIKE '郭_'//匹配两个

WHERE name LIKE '郭__'//匹配三个

WHERE name LIKE '郭_' AND OR

 

SELECT * from student

SELECT CONCAT_WS('-',province,city) from student

// 山东省济南 分割符- 间隔山东省 济南

SELECT LEFT('guozimo',3)// guo

SELECT RIGHT('guozimo',4)// zimo

// substring 截取字符串

SUBSTR('guozimo',FROM 4 FOR 2)

//indexof=====INSTR

SELECT INSTR('guozimo','zimo')

// 子串在父串中的索引位置

zhAng=====Z_hang

// 姓名首字母大写,其他字符小写,然后用_链接

create table t(name varchar(64))

insert into t(name) values('zhAng')

select

// UPPER(SUBSTR(name,1,1)), LOWER(SUBSTR(name,2))

CONNCAT_WS('_', UPPER(SUBSTR(name,1,1)), LOWER(SUBSTR(name,2)));

from t

 

// 如何去空格

SELECT TRIM(' guozimo ')

SELECT LTRIM(' guozimo ')// 左空格

SELECT RTRIM(' guozimo ') // 右空格

// pading 补齐位数 往左补0 补到10位

SELECT LPAD('guozimo',10,'0')

SELECT RPAD('guozimo',10,'0')// 往右补0

// 就是说字符串的长度 是不是10位 如果不够 就补0

// 替换

SELECT REPLACE('GUOZIMO','GUO','guo')

// FORMAT 数字格式化 保留两位小数

SELECT FORMAT(100000,2)// 保留两位小数

// 100,000.00

// 数字函数

CEIL FLOOR DIV MOD取余 POWER ROUND TRUNCATE

SELECT NOW()

SELECT CURDATE()

SELECT CURTIME()

SELECT YEAR(NOW())// 当前时间是哪一年

SELECT STR_TO_DATE('2018-09-09','%Y-%m-%d')

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值