全列查询
select * from [表名];
指定列查询
select id, name from student;
结果去重
select distinct 成绩 from student;
where条件
比较运算符 | 说明 |
---|---|
>, >=, <, <= | 大于,大于等于,小于,小于等于 |
!=, <> | 不等于 |
=,<=> | 等于 |
between a and b | 在范围a~b中,返回true |
is null | 是空 |
is not null | 不是空 |
like | % 匹配任意多个字符;_任意一个字符 |
逻辑运算符 | 说明 |
---|---|
and | 多个条件都为真 ,即为真 |
or | 一个条件为真,则为真 |
not | 条件为真,结果为假 |
结果排序
select 成绩 from student order by 成绩;
select 成绩 from student order by 成绩 desc;
筛选分页
select 成绩 from student order by id limit 3 offset 0;
删除数据
delete from student where name='小明';
截断表
truncate student;
1)只能对整个表使用
2)实际山MySQL不对数据操作,所以比delete快
3)会重置auto_increment项
聚合函数
函数 | 说明 |
---|---|
count | 查询到数据的数量 |
sum | 查询到数据的和 |
avg | 查询到数据的平均值 |
max | 查询找数据的最大值 |
min | 查询到数据的最小值 |
group by
在select中使用group by 可以对指定列进行分组查询
// 查询每个部门的平均工资和最高工资
select deptno,avg(sal),max(sal) from emp group by deptno;
日期函数
函数名称 | 描述 |
---|---|
current_date() | 当前日期 |
current_time() | 当前时间 |
current_timestamp() | 当前时间戳 |
date(datetime) | 返回datetime参数的日期部分 |
date_add(date, interval d_value_type | interval后面的单位可以是:year,minute,second,day |
date_sub(date,interval d_value_type) | 在date中减去日期或时间 |
datediff(date1, date2) | 两个日期时间的差,单位是天 |
now() | 当前日期时间 |
select date_add('2020-10-29', interval 10 day);
select datediff('2020-1-1', '2021-1-1');
字符串函数
字符串 | 说明 |
---|---|
charset(str) | 返回字符串字符集 |
concat(string1, string2, …) | 连接字符串 |
instr(string, substring) | 返回substring在string中出现的位置,没有返回0 |
ucase(string1) | 转换成大写 |
lcase(string1) | 转换成小写 |
left(string1, length) | 从string1 中左起length个字符 |
length(string) | string的长度 |
replace(str, search_str, replace_str) | 在str中用replace_str替换search_str |
strcmp(string1, string2) | 逐字符比较字符串的大小 |
substring(str, postion, [length]) | 从str的postion开始,取length个字符,没有length取到末尾 |
ltrim(string) / rtrim(string) | 去除前空格或后空格 |
数学函数
函数名称 | 说明 |
---|---|
abs(number) | 绝对值函数 |
bin | 十进制转换为二进制 |
hex | 转换成十六进制 |
conv(number, from_base, to_base) | 进制转换 |
ceiling(number) | 向上取整 |
floor(number) | 向下取整 |
format(number, decimal_places) | 格式化,保留小数位数 |
rand() | 返回随机浮点数,范围[0.0,1.0) |
mod(number, denominator) | 取模 |
多行子查询
in关键字;all关键字;any关键字;
合并查询
union:将操作取两个结果的并集,当使用操作符时,会自动去掉减掉结果中的重复行。
union all:不去掉重复行。
内连接
利用where子句对两种表形成的笛卡尔积进行筛选。
外连接
左外连接:左侧的表完全显示。
右外连接:右侧的表完全显示。