四、数据操作4.1、查询操作4.1.1、单表查询select * from ts_user;
或者
select id, name from ts_user;
4.1.2、关键字查询
- and 查询
select id, name from ts_user where name = '张三'
- or 查询
select id, name from ts_user where name = '张三' or name = '李四'
- in 查询(参数个数不能超过1000)
select id, name from ts_user where name in ('张三', '李四')
- like 模糊查询(%属于通配符)
select id, name from ts_user where name like '张%'
- 非空查询
select id, name from ts_user where name is not null
- 区间字段查询
select id, name, age from ts_user whereage >= 18 and age <= 30
select id, name, age from ts_user where age between 18 and 30
- 多条件判断
select name,(casewhen scope >= 90 then'优'when 80 <= scope < 90 then'良'when 80 > scope >= 70then'中'else '差'end) as judgefrom ts_user
4.1.3、连表查询- 左连接查询
select tu.id, tu.name,tr.role_namefrom ts_user tuleft join ts_role tr on tu.id = tr.user_id
- 右连接查询
select tu.id, tu.name,tr.role_namefrom ts_user turight join ts_role tr on tu.id = tr.user_id
- 内连接查询
select tu.id, tu.name,tr.role_namefrom ts_user tuinner join ts_role tr on tu.id = tr.user_id
- 满连接查询
select tu.id, tu.name,tr.role_namefrom ts_user tufull join ts_role tr on tu.id = tr.user_id
4.1.4、分组查询- 统计学生总数
select count(id) from ts_user
- 查询学生最大的年纪
select max(age) from ts_user
- 查询学生最大的年纪
select min(age) from ts_user
- 查询各个学生各项成绩的总和
select id, sum(score) from ts_user group by id
- 查询各个学生各项成绩的平均分
select id, avg(score) from ts_user group by id
- 查询各个学生各项成绩的平均分大于100的学生信息
select id, avg(score) from ts_user group by id having avg(score)> 100
4.2、插入操作4.2.1、单列插入INSERT INTO ts_user(id, name) VALUES ('1', '张三');
4.2.2、多列插入INSERT INTO ts_user(id, name)VALUES('1', '张三'),('2', '李四'),('3', '王五');
4.3、修改操作update ts_user set name = '李四1', age = '18' where id = '1'
4.4、 删除操作# 删除表全部内容delete from ts_user# 根据判断条件进行删除delete from ts_user where id = '1'
五、运算符MySQL 主要有以下几种运算符:- 算术运算符
- 比较运算符
- 逻辑运算符
- 位运算符
说明:在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL 。
5.2、比较运算符SELECT 语句中的条件语句经常要使用比较运算符 。通过这些比较运算符,可以判断表中的哪些记录是符合条件的 。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL 。
运算符描述实例=等于select * from t_user where user_id = 1 查询用户ID为1的信息!=不等于select * from t_user where user_id != 1 查询用户ID不为1的信息>大于select * from t_user where user_id > 1 查询用户ID大于1的信息>=大于select * from t_user where user_id >= 1 查询用户ID大于等于1的信息<大于select * from t_user where user_id < 1 查询用户ID小于1的信息<=大于select * from t_user where user_id <= 1 查询用户ID小于等于1的信息BETWEEN AND在两值之间select * from t_user where user_id between 1 and 100 查询用户ID在1和100之间的信息,类似user_id >=1 and user_id <=100NOT BETWEEN AND不在两值之间select * from t_user where user_id not between 1 and 100 查询用户ID不在1和100之间的信息,类似user_id <1 and user_id >100IN在集合中select * from t_user where user_id in ('1','2') 查询用户ID为 1 或者 2 的信息NOT IN不在集合中select * from t_user where user_id not in ('1','2') 查询用户ID不为 1 和 2 的信息LIKE模糊匹配,%表示0个或者多个匹配select * from t_user where user_name like '%张%' 查询用户姓名包含张的信息IS NULL为空select * from t_user where user_name is null 查询用户姓名为空的信息IS NOT NULL不为空select * from t_user where user_name not is null 查询用户姓名不为空的信息
推荐阅读
- Linux之killall命令
- 夏日泡泡小说中的经典语句
- 使用MySQL导入数据时出现乱码的两种解决方法
- c# 8个常用的.net类库
- Mysql Innodb 引擎解决并发问题
- 什么是MySQL存储引擎?
- MySQL七种JOIN类型,终于学明白了
- MySQL崩溃-修复损坏的innodb:innodb_force_recovery
- 常用的微信营销软件有哪些
- MySQL的select流程