分页查询:获取部分行
1、当数据过大时,在一页中查看数据是一件非常麻烦的事情
2、语法:
select * from limit start,count;
2.1 从start开始,获取count条数据。
2.2 start索引从0开始
例1:查询前3行学生信息
select * from students limit 0,3;
分页:
1、已知:每页显示m条数据,求:显示第n页的数据
select * from students limit (n-1)*m,m;
2、求总页数
查询总条数p1
使用p1除以m得到p2
如果整除则p2为总数页
如果不是整数则p2+1为总页数
连接查询:
1、当查询结果得列来自于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回
2、等值连接查询:查询的结果为两个表匹配到的数据
3、左连接查询:查询结果为两个表匹配到的数据加左表特有的数据,对于右表中不存在的数据使用null
4、右连接查询:查询结果为两个表匹配到的数据加右表特有的数据,对于左表中不存在的数据使用null
等值连接:
方式1:select * from 表1,表2 where 表1.列=表2.列;
方式2(又称内连接): select * from 表1 inner join 表2 on 表1.列=表2.列;
方式3(表内连接):select * from 表1,表2,表3 where 表1.列=表2.列 and 表2=表3;
方式4(又称左连接): select * from 表1 left join 表2 on 表1.列=表2.列;
方式5(又称右连接): select * from 表1 right join 表2 on 表1.列=表2.列;
主查询:
主要查询的对象,第一条select语句
子查询:
在第一个select语句中嵌入了另一个select语句,那么嵌套的select语句称之为子查询
主查询和子查询的关系:
1、子查询时嵌入到主查询中
2、子查询是辅助主查询的,要么充当条件,要么充当数据源
3、子查询是可以独立存在的语句,是一条完整的select语句
子查询分类:
1、标量子查询:子查询返回的结果是一个数据(一行一列)
2、列子查询:返回的结果是一列(一列多行)
3、行子查询:返回的结果是一行(一行多列)
4、表级子查询:返回的结果是多行多列
标量子查询:
例1:查询班级学生的平均年龄
select avg(age) from students;
列子查询:
例1:查询18岁的学生学号
select studentno from students where age=18;
行级查询:
例1:查询男生中年龄最大的学生信息
select max(age) from students where sex=‘男';
2、插入数据
语法:
insert into 表名 values(…)
插入多条:insert into 表名 values(…),(…)
3、删除数据
语法:
delete from 表名 where 条件
4、修改/更新数据
语法:
update 表名 set 列1=值1,列2=值2… where 条件
四、高级
视图:
1、对于复杂的查询,在很多地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦。
2、解决:定义视图。
3、视图本质就是对查询的封装
4、定义视图,建议以V_开头
select view 视图名称 as select 语气;
查看视图:查看表会将所有的视图也列出来
show tables;
删除视图:
drop view 视图名称;
使用:视图的用途就是查询
select * from 视图名称;
索引:
语法:
查看索引:show index from 表名;
外键:
一个外键的值一定是另一个表的主键,在设置主键以前,必须先将两个表选项中的引擎修改为InnoDB:
然后设置外键:
注意:外键所在的表不能设置主键
唯一:
设置唯一后,数据能出现重复的数据。
输入重复的数据就会报错:
五、知识补充
ctr+/ 注释作用
笛卡尔积=两个表数据个数相乘
以上就是一文读懂navicat for mysql基础知识的详细内容,更多关于navicat mysql基础的资料请关注其它相关文章!
更多相关Mysql内容来自木庄网络博客
标签:Mysql
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。