insert into user
values(10,'root','root','xxxxx@gmail.cc')
insert into user(`username`,`password`,`email`)values('admin','admin','admin@gmail.cc')
insert into user(`username`)
select name from account
更新(UPDATE)
update user
set username='root',passowrd='robot'
where username='root'
删除(DELETE)
Delete 用于删除表中的记录, Truncate table 用于清空表
deletefrom user
where username='root'
查询(SELECT)
DISTINCT 用于唯一不同值, LIMIT 限制返回的行数
查询单列
查询多列
查询所有列
查询不同值
限制查询结果
select username from user
select username, email from user
select *from user
select distinct(email)from user
-- 返回前5行
select *from user limit 5-- 从第0个记录返回5个
select *from user limit 0,5
子查询
子查询是嵌套在较大查询中的SQL查询,也称为内部查询
可以嵌套在SELECTinsertupdatedelete语句内
子查询通常会在另外一个select语句的where 子句
可以使用比较运算符,如<>=等
子查询必须被圆括号()包起来
where条件过滤
后面跟随的是true/false的条件,
可以使用 AND,OR, NOT 等连接多个判断条件
操作符
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
Between 在某个范围内
Like 模式搜索
in 指定某列的多个可能值
select语句中
select *from user
where `username`='admin'
update语句中
update user
set `username`='root'
where `username`='admin'
delete语句中
deletefrom user
where `username`='admin'
in和between
select *from user
where `username`in('admin','root')
select *from user
where userId between 1 and 3
Like
只有列是文本值才可以使用Like
Like 支持两种通配符: %和_
% 表示任意字符出现任意次数
_ 表示任意字符出现一次
select username
from user
where `username`LIKE'%admin%'
select username
from user
where `username`LIKE'_admin'
JOIN查询
用于连接多个表, 并条件语句使用ON表示共同的列
内连接(INNER JOIN)
返回两个表共有的部分
select username
from`user`
inner join `role` on `role`.`id`=`user`.`roleId`
左连接(LEFT JOIN)
返回左表
select username
from`user`
left join `role` on `role`.`id`=`user`.`roleId`
右连接(RIGHT JOIN)
返回右表
select username
from`user`
right join `role` on `role`.`id`=`user`.`roleId`
组合(UNION)
两个表查询的列数和列顺序必须相同
将多个查询结果组合起来生成一个结果集
select username
from`users`
where `userId`IN(1,2,3)UNION
select username
from`users`
where `username`='admin'
内置函数
以下罗列的是mysql的内置函数
文本处理
LEFT() 切割出左边的字符
RIGHT() 切割出右边的字符
LOWER() 转换小写
UPPER() 转换大写
LTRIM() 去掉左边的空格
LENGTH() 长度
时间处理
日期: YYYY-MM-DD, 时间:HH:MM:SS
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期部分
DateDiff() 计算两个日期之差
Date_Format() 返回格式化的日期
Now() 返回当前日期和时间
select NOW();--2021-4-1016:51:41
数值处理
AVG() 返回列的平均值
COUNT() 返回列的行数
MAX() 返回列的最大值
MIN() 返回列的最小值
SUM() 返回列的和
排序和分组
Order By
对结果集进行排序, ASC: 升序;DESC:降序
select *from`user` order by `userId`DESC,`username`ASC;
Loading Comments...