mysql(分页表,日期.表连接,事务,索引,视图,备份)

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
posted @ 2022-10-22 23:20  梦梦想睡觉  阅读(41)  评论(0编辑  收藏  举报