MySQL查询语句
一、基本查询:
1. select * from 表名;
查询表里所有信息
2. select 字段 from 表名;查询表里的字段信息
3. select 字段, 字段 from 表名;
查询表里的多个字段信息,不同字段用逗号隔开
4. select 字段 as "XXX" from 表名;查询表里的字段信息,并起别名XXX5.not null不为空
primary key主键
auto_increment表示自动增长
二、限制查询:where
1. select 字段 from 表名 where 字段0 > 条件1;
查询字段信息,要求字段0的限制条件为条件1
2. select 字段 from 表名 where 字段0 > 条件1 and 字段1 < 条件2;
查询字段信息,要求字段0的限制条件为条件1 和 字段1的限制条件为条件2 (不同条件并列用 and)
3. select 字段 from 表名 where 字段0 > 条件1 or 字段1 < 条件2;
查询字段信息,要求字段0的限制条件为条件1 或者 字段1的限制条件为条件2 (不同条件或用 or)
4. select distinct 字段 from 表名;
查询字段信息,但会过滤掉字段中数据重复的信息5. 条件:<> / !=不等于(其他与java中一样)
三、排序查询:order by
1. select 字段 from 表名 order by 字段0 asc;
查询字段信息,要求按照字段0(必须要能够排序)的升序排列排序查询默认为升序
2. select 字段 from 表名 order by 字段0 desc;
查询字段信息,要求按照字段0(必须要能够排序)的降序排列
3. select 字段 from 表名 order by 字段0 desc, 字段1 desc;
查询字段信息,要求按照字段0的降序排列,若字段0存在的相同信息,则按照字段1的降序排列4.ascending(asc)升序
descending(desc)降序
四、模糊查询:like
1. select * from 表名 where 字段 like "%字符";
查询字段中以"字符"结尾的数据
2. select * from 表名 where 字段 like "_字符";
查询字段中以"字符"结尾,且"字符"前有且一个字符的数据
3. select * from 表名 where 字段 like "%字符%";
查询字段中带有"字符"的数据4.%通配从0到n个字符
_通配一个字符
五、模拟分页:limit
1. select * from 表名 limit n;
只查询前n个数据
2. select * from 表名 limit m, n;
从第m个数据开始,查询n个数据,可以用来模拟分页
六、连表查询:
1. 一对一查询:建立两个表(men, girl),使第一个表中出现第二个表中的字段
例如:用men表中的girlID与girl表中的girlID进行匹配,展示数据
a): 基本查询方式
select * from men, girl where men.girlID = girl.girlD;
b): 常用查询方式(内联查询)
select * from men inner join on men.girlID = girl.girlID;
2. 一对多查询:建立两个表(father, son),使第二个表中出现第一个表的字段
例如:用father表中的fID与son表中的sID进行匹配
a): 查询father中fName = "李嘉诚" 对应的数据有那些
select * from father inner join son on son.fID = father.fID
where fName = "李嘉诚";
b): 推荐方法,用别名简化书写
select * from father f inner join son s on s.fID = f.fID
where fName = "李嘉诚";
3. 多对多查询:建立三个表(student, stuToCourse, course),
中间表要出现第一个表和第三个表中的字段,分别是(stuID, cID)
例如:
a): 查询李良良对应的数据有哪些
select * from student s inner join stuToCoures sc on s.stuID = sc.cID
inner join course c on sc.cID = c.cID where s.stuName = "李良良";
b): 查询甲斗对应的数据
select * from course c inner join stuToCourse sc on c.cID = sc.cID
inner join student s on sc.stuID = s.stuID where c.cName = "甲斗";
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- 数据库总结语句
- py连接mysql
- 2019-01-18Mysql中主机名的问题
- MySql数据库备份与恢复
- Improve|Improve Nested Conditionals(优化嵌套的条件语句) 面对大量的if-else语句
- mysql|InnoDB数据页结构