1.分页:limir m,n(一般放最后,其次在排序)
m:表示从第几条数据开始显示(0表示第一天数据)
n:表示每页显示的数据条数
-
公式m=(pageNo-1)*pangeSize
-
pageNo:表示显示的第几页
-
pageSize:表示每页显示的数据条数
如果每页显示3条数据,查询第三页的内容-->(3-1)*3 select * from 表名 limir6,3; 显示前5条数据 select * from 表名 limit 5;
2.日期函数
时间戳:timestamp(年月日 时分秒)
-
CURDTE( )
-
CURRNT_DATE( )
-
STSDATE( )
-
NOW( )
select CURDTE( ) from daul; --->年月日 select CURRNT_DATE( ) from daul: --->年月日 select STSDATE( )from daul: --->年月日,时分秒 slect NOW( ) from daul: -->年月日,时分秒
3.表的连接
- 内连接:inner join on
以下代码结果一样
select * from emp e ,dept d where d.deptno=e.deptno
select * from emp e inner join dept d on d.deptno=e.deptno
- 外连接
-
左外连接 : left join on
以左边的表为驱动表,会将该表的数据全部显示,但是对应连接的表中如果没有数据,会以默认值显示出来select * from 表名1 left join 表名2 on 关联条件
-
右外连接 : right join on
以右边的表为驱动表,会将该表的数据全部显示出来,但是对应连接的表中没有数据,会以默认值显示出来select * from 表名1 right join 表名2 on 关联条件
交叉连接
select * from 表名1,表名2
4.事务
事务 : 将多个sql语句绑定到一起,要么都执行成功,要么都执行失败,如果sql语句执行出错,则其他都不会执行(会回滚)
事务的提点:
- 原子性:同一个事务中的sql语句要么都执行成功,要么都执行失败
- 一致性:同一个事务中的sql语句要么都是执行成功后的状态,要么都是失败的状态
- 隔久性:不同的事务之间,是相互独立的,不会受影响
- 持久性:一旦事务提交.对于数据影响是持久性的
5.存储引擎
- innoDB: mysql数据库5.5版本之后是默认存储引擎,支持事务,适用于增删改比较多的数据库
- MyISAM:更加注重性能,所以适用于查询比较多的数据库,但是不支持事务
6.exists / ont exiats(判断是否存在/不存在)
通常后面都是接子查询,如果子查询中有数据,会默认返回ture,否则会返回false,
如果返回的是ture,则外面的查询会执行
返回的是false,则外面的查询不会执行
---删表--->
drop table if exists 表名
----查询--->
select * form 表名 where exists(子查询)
7.索引
相当于书上的目录,目的是为了加快数据库的检索进度,改善数据库的性能
-
普通索引
-
唯一索引
-
主键索引
-
复合索引
下面两个只支持MyISAM存储引擎
-
全文索引
-
空间索引
什么字段需要加索引?
经常用来做where过滤条件的字段
或者用来排序的字段,分组的字段
我们就可以添加索引
创建索引的语法:
create [索引类型] index 索引名 on 表名(字段名)
给emp表中的empno字段添加一个唯一索引
create unique index e_index on emp(empno)
删除索引
alter table 表名 index 索引名
如何优化数据库
1.查询的时候一定加where条件过滤(优化sql语句)
2.分页查询
3.给经常做过滤条件的字段添加索引
4.定期维护索引
8.视图
视图:视图就是一个虚表,只是虚表是通过sql语句的结果创建爱你的一张非真实存在的表
作用:
1.为了数据的安全,不给别人查看整个表中的字段内容
2.让业务逻辑简单化,使 用户容易理解
创建视图的语法
create view 视图名 as sql语句...
注意:如果往视图中插入/修改/删除数据,将会影响到原表中的数据,所有不建议修改视图中的数据
删除视图
drop view 视图名
9.数据库备份
导出:
mysqldump -uroot -p密码 数据库名[指定的表名]>导出的路径(.sql结尾)
mysqldump -uroot -p密码 2208>d:\2208.sql
导入
mysql -uroot -p密码 数据库名[指定的表名]>sql文件(.sql后缀的文件)
mysql -uroot -p密码 2208<d:2208.sql
标签:mysql,视图,查询,索引,页表,sql,表名,select
From: https://www.cnblogs.com/wmma/p/16817599.html