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

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

时间:2022-10-22 23:35:14浏览次数:53  
标签:mysql 视图 查询 索引 页表 sql 表名 select

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

相关文章

  • SpringBoot 创建项目连接mysql数据库
    Spring 创建项目1.创建一个springboot项目2.点击File---- New---- project项目名称可以随便填写...3. Springboot版本尽量不要最新版,怕你们驾驭不了......
  • mysql主从复制
    配置主库Master1.修改mysql配置文件/etc/my.cnf[mysqld]log-bin=mysql-bin#启动二进制文件server-id=100#服务器唯一id2.重启MySQL服务systemctlrestartmysqld......
  • Dcoker实战:Linux环境安装mysql8.0.27安装步骤
    ​今天给大家分享Centos8系统下安装mysql8.0.27,具体参考下面的步骤就可以使用Docker正确安装mysql。1、拉取镜像#拉取最新的mysql版本dockerpullmysql#查看mysql镜像dock......
  • MySQL - 数据库配置参数、性能优化教程
     将 MySQL 部署到普通的 X86 服务器上,在不经过任何优化情况下,MySQL 理论值正常可以处理 2000 左右 QPS。不过当访问量达到 1500 左右并发连接时,数据库处理性能......
  • centos8 下docker安装mysql
    1、安装dockerhttps://www.cnblogs.com/bk-your/p/16816372.html//安装docker地址2、docker拉取5.7版本的mysqldockerpullmysql:5.7//拉取镜像3、查看拉......
  • 18.视图
    视图视图:可以理解成虚拟表。--创建视图,实现显示卡号,身份证,姓名,余额createviewView_Account_CardasselectCardId卡号,AccountCode身份证号,RealName姓名,CardMon......
  • MySQL基础1【安装-运算符-排序分页】尚硅谷
    第00章_介绍大纲第00章_写在前面讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.comhttp://www.atguigu.com/)一、MySQL数据库基础篇大纲MySQL数据库基础篇......
  • nginx代理mysql访问
    配置stream的前提,需要启用--with-stream--with-stream_ssl_module自己单独独立一个conf 文件时不成功,最后放到nginx.confhttp 里,怎么配置也不成功,后来只能拿到http外面......
  • MYSQL数据库的事务的四大特性
    事务的特性原子性(Atomicity)事务是一个原子操作单元,其对数据的修改,要么全部执行,要么全部不执行一致性(Consistent)在事务开始和完成时,数据都必须保持一致状态。这意味着所有......
  • mysql锁的分类
    锁的分类按照标准划分:锁:共享锁和排他锁按照加锁范围,锁分为:全局锁、表级锁、行锁。全局锁使用场景:全库逻辑备份。也就是把整库每个表都select出来存成文本。对于支持事......