单表查询
1. 简单查询
- 查询表中全部数据
select * from表名 - 查询指定列
select 字段1,字段2…from 表名 - 别名查询
select 字段1 as 别名,字段名2 as 别名…from 表名
select 字段1 as 别名,字段名2 as 别名…from 表名 别名
(as可以省略) - 去除重复值:用distinct关键字
select distinct 字段名 from 表名
distinct后面有多个列的时候,只有多个列都重复才叫重复数据
- 查询结果参与运算
select 列名1+ 固定值 from 表名
查询的列可以做加减乘除运算,只会影响展示结果,不会影响表中数据。
2. 条件查询
- 比较运算符:=等于、 >大于、 <小于、 <=小于等于、 >=大于等于、 <>或!=不等于
- 逻辑运算符:and(&&)都要满足,or(||)多个满足一个就行,not(!)不满足
- 指定范围内查询 in
select 字段名 from 表名 where 字段 in (数据1,数据2…)
in里面的条件满足一个就会显示,相当于使用or连接多个条件
- 范围
SELECT * FROM student3 WHERE english>=75 AND english<=90;
SELECT * FROM student3 WHERE english BETWEEN 75 AND 90; - 模糊查询 like
select * from表名 where 字段名 like ‘通配符字符串’
MySQL 通配符有两个:
%:表示0或多个字符
_:表示一个字符
- 为空查询 is null
select 字段名 from表名 where 字段 is null
3. 排序
用order by 字句,对结果进行排序,只影响显示结果,不会影响数据库中的数据
- 单列排序
select 字段名 from 表名 where 条件 order by 字段名 [asc|desc] - 组合排序
- 组合排序按第一个字段排序,第一个字段相同的情况下在按后一个排序
select 字段名 from 表名 where 条件 order by 字段名1 [asc|desc],字段名2 [asc|desc]
4.单行函数
单行函数是指对于每一行数据进行计算后得出一行输出结果。SQL单行函数根据数据类型分为字符函数、数字函数。日期函数、转换函数等。
- 数值函数
- abs(x):返回x的绝对值
- ceil(x):返回大于或等于x的最小整数(向上取整)
- floor(x):返回小于或者等于的最大整数(向下取整)
- rand():返回0-1的随机数
- round(x):四舍五入取整
- 字符串函数
- concat(s1,s2…sn):将多个字符串合并在一起
- locate(s1,s):从字符串s中获取s1的位置
- lower(s):将字符串s的所有字母变成小写字母
- upper(s):将字符串转换成大写
- replace(s,s1,s2):s2代替s中的s1
- substr(s,start,length):从s中start位置截取length长度字符串(注意:与数组不一样,第一个字符串是1)
- trim(s):去掉s开始和结尾处的空格
- reverse(s):反转字符串
- 时间日期函数
- now():返回系统当前时间
- sysdate():返回系统当前时间
- curdate():返回当前日期(年月日)
- curtime():返回当前的时分秒
- month(date):返回给出的日期的月份
- week(date):返回给出日期是一年中的第几个星期
- day(date)返回给出日期的日
- date_add(date,interval expr type):在参数日期上增加相应的时间date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
- 流程控制函数
- if(condition,expr1,expr2):condition为true时返回expr1,false时返回expr2
- ifnull(expr1,expr2):expr1不为null时返回expr1,为null时返回expr2
- 其他函数
- version():查看数据库版本
- user():查看数据库当前用户
- md5(expr):返回参数md5加密后的值