![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySql 基础和进阶
文章平均质量分 65
介绍关系型数据库Mysql中的增删改查,连接,数据库三范式,数据库引擎,视图事务特性和隔离级别,查询语句优化等
扁舟钓雪
一个热衷于Python语言,热爱机器学习,深度学习,机器视觉的开源博主,有问题可在博客下评论哦~同时欢迎私聊及互关.
展开
-
MySQL进阶--使用Python-pymysql操作MySQL
Python操作MySQLPymysql 第三方库 去连接数据库安装: pip install pymysql代码: 1.导包 2.创建链接 3.创建一个游标对象(所有操作部都是基于游标对象) 4.执行sql语句(增 删 改,必须要提交) 5.关闭连接# 导包import pymysql# 创建链接db = pymysql.connect(host='localhost',user='root',password='123456',database='d原创 2021-07-12 20:29:47 · 109 阅读 · 0 评论 -
MySQL高级--数据库优化方案
数据库优化方案(一)选取最适用的字段约束(面试重点)MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。比如,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。gender ENUM('0', '1')(二)使用连接(JOIN)来代替子查询(Sub-原创 2021-07-12 20:28:07 · 109 阅读 · 0 评论 -
MySQL进阶--数据库慢查询日志
慢查询日志(一)慢查询日志概念MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。(二)慢查询日志相关参数MySQL 慢原创 2021-07-12 20:25:15 · 234 阅读 · 1 评论 -
MySQL进阶--数据库的备份和恢复
数据库的备份与恢复(一) 数据备份mysqldump -u用户名 -p密码 -参数 数据库/数据表> xxx.sql-- 导出指定的库 mysqldump -uroot -p 库名>备份文件名.sql-- 导出指定的表mysqldump -uroot -p 库名 表名>备份文件名.sqlmysqldump -uroot -proot -A -r all.sql #备份所有数据库mysqldump -uroot -proot -A > all.sql原创 2021-07-12 20:21:31 · 82 阅读 · 0 评论 -
MySQL进阶--数据库用户和权限管理
数据库用户和权限管理(一)用户管理用户管理涉及到用户连接DBMS系统的常规操作,以及使用root超级用户的模式下,完成普通用户的创建、修改以及删除等各种操作。(1) 连接数据库连接数据库的操作,在第一讲的内容中已经有所涉及,这里针对连接数据库的操作做一个基本的回顾和梳理,在命令行执行命令mysql --help查看操作命令和帮助,会出现大量的操作选项,其中较为常用的选项如下:• -h:host连接数据库的主机名称,通常我们使用ip地址进行确定• -P:Port端口号,大写字符P指定连接数据库服务原创 2021-07-06 21:49:38 · 320 阅读 · 0 评论 -
MySQL进阶--数据库存储过程
存储过程存储程序就是一行或者多行sql语句。 为以后的使用而保存的一条或多条MySQL语句的集合。存储过程思想上就是数据库 SQL 语言层面的代码封装与重用(一)存储过程的创建存储过程和函数的构建,数据库提供了CREATE PROCEDURE和CREATE FUNCTION语法,创建的存储过程和函数可以在SQL语句中被调用执行,或者可以在其他的存储过程或者函数调用执行,本节内容先掌握基本的创建语法。(1) 创建存储过程CREATE PROCEDURE proc_name存储过程的名字([pro原创 2021-07-06 21:37:52 · 123 阅读 · 0 评论 -
MySQL进阶--数据库的触发器详解
触发器详解触发器(trigger)也称为触发程序,是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行。——百度百科(一)触发器语法触发器在MySQL数据库中的关键字TRIGGER,创建触发器的语法如下:• TRIGGER:触发器是与表有关的数据库对象,当表上出现****特定事件****时,将激活该对象的操作。原创 2021-07-06 21:34:29 · 3196 阅读 · 0 评论 -
MySQL进阶--数据库视图详解
视图视图是一种虚拟表,和普通的表类似,有行有列,是从一个表或多个表中导出来的数据组成的虚拟表,并不在数据库中真是存在,作用和真实表一样,包含一系列带有行和列的数据。视图的优点和缺点视图的操作(一)视图的优点和缺点视图的优点:简单:(简化操作,将复杂的查询语句存到视图中)使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结构安全:使用视图的用户只能访问他们被允许查询的结构集,对表的权限管理并不能限制到某个行某个列,但是通过视原创 2021-07-06 21:30:01 · 276 阅读 · 0 评论 -
MySQL进阶--索引详解
索引的详解索引是一种特殊的数据结构,它包含了对数据表里的记录的指针,添加索引可以加速查询。类似于字典的目录。我们创建索引,会创建出一个特殊的文件来存储,所以我们对查询频繁的表或者字段添加索引。(一)索引的种类根据数据库的功能,可以在数据库设计中创建三种索引:唯一索引、主键索引普通索引。• 普通索引 index – 普通索引 就是一个普通的索引,可以为空,可以重复。• 唯一索引 unique (唯一约束) – 可以为空,不可以重复。• 主键索引 primary key原创 2021-07-06 21:19:08 · 241 阅读 · 0 评论 -
MySQL进阶--MySQL事务详解
事务详解(一)事务概述将一组有序的增删改操作,看做一个独立的执行单元,这个独立的执行单元就是事物银行转账: 怎么才算转账成功 A给B转账 1.先更新A账户的余额信息 更新语句 2.更新B账户的余额信息 更新语句特点: 一个事物中,只要有一个操作失败,整个事物就回滚,所做操作都不生效作用: 为了保障数据的安全(二)数据库引擎数据库存储引擎,是数据库底层构建的核心,负责底层数据持久化和软件交互的序列化操作、校验过程以及交互过程,通过数据库存储引原创 2021-07-06 21:03:50 · 125 阅读 · 0 评论 -
MySQL进阶--数据库设计三范式
数据库设计范式(一)字段不可分强调的是列的原子性,通俗理解即一个字段只存储一项信息比如建立【联系人】字段 如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就不满足第一范式(二)非主键字段依赖主键任意一个字段都只依赖表中的同一个字段; 一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。当存在多个主键的时候,才可能会发生不符合第二范式的情况。(三)非主键字段不能相互依赖每列都与主键有直接关系,不存在传递依赖;每一列数据都和主键直接相关,而不能间接相关..原创 2021-07-06 21:00:20 · 78 阅读 · 0 评论 -
MySQL核心--关联查询,子查询,连接查询
关联查询,子查询,连接查询一、外键关联查询多表查询操作,是在项目开发时使用较多的查询操作,这里以两张表的操作方式示例,更多表的操作再次基础上拓展即可。两张表之间的公共字段就是外键,如职员表employee和部门表department之间就是通过不部门编号进行关联的。需求:查询军情1部所有员工信息分析:查询军情1部设置到的是部门表,查询员工信息涉及到的员工表,需要对两张表进行操作案例操作:二、子查询(一)单行子查询单行子查询,将两张表的查询过程简化为两个步骤,首先执行子查询SQL语句得到原创 2021-07-06 20:58:59 · 631 阅读 · 0 评论 -
MySQL核心--数据库表关系简介
数据库表关系简介首先我们明确多表关联关系,多表关联描述的就是项目中多个对象之间的关系,通常这样的关系区分为三种类型:一对一一对多多对多(一)一对一• 通过主键关联主键可以实现• 通过外键关联主键可以实现,外键需要添加唯一约束• 案例:用户(constomer)和扩展资料(extension)(二)一对多关系• 通过外键关联可以实现,外键添加在多的一方• 中间表进行关联,多的一方设置唯一约束• 案例:店铺(shop)和商品(goods)(三)多对多关系• 中间表实现多对多关原创 2021-07-06 20:47:02 · 211 阅读 · 0 评论 -
MySQL核心--数据查询操作
数据表中数据常用的查询操作查询操作,在增删改查操作中,是属于操作频率最高,同时操作方式最多样的,包含单表的操作以及多表关联的操作。1、 单表查询基于单个数据表的数据查询操作,我们称为单表查询,单表查询是高级查询的基础,也是项目中在进行****数据测试时****使用最多的sql语句。1.1、 全表查询基本操作语法:(在工作中不推荐)格式: SELECT * FROM 表名;1.2、 指定字段查询基本操作语法:1.3、 剔重字段查询基本操作语法:1.4、 单条件比较查询基原创 2021-07-05 21:22:31 · 180 阅读 · 0 评论 -
MySQL核心--数据的CRUD
数据的CRUD数据库database通过数据表table管理具体数据,数据在数据表中的操作主要有增加、删除、修改、查询操作,分别对应了MySQL数据库中的SELECT、DELETE、UPDATE、SELECT操作。• INSERT增加数据– 增加单条数据、增加多条数据、查询增加数据• DELETE删除数据– 全表删除、指定条件删除、指定删除数量• UPDATE修改数据• SELECT查询数据数据的添加基本格式指定所有字段添加单条数据mysql> INSERT INTO user原创 2021-07-05 20:39:48 · 80 阅读 · 0 评论 -
MySQL基础--数据表操作
数据表操作数据库创建完成后,需要对数据库中的数据进行操作,关系型数据库中的数据,专业术语描述是按照二维关系进行管理的,其实就是通过表格(行/列)的方式进行数据库管理的。二维表格中,一行数据可以表示一个对象,一行中的单列数据就是对象的一个属性,类似编程语言中的对象和对象的属性一样。(一)查询数据表查询数据表,是查询在DBMS系统中当前指定的数据库中,存在的所有的数据表。基本语法格式:(二)创建数据表数据表的设计及创建,需要和当前项目结合,对应数据类型以及数据类型的属性,定义数据表的名称以及数原创 2021-07-05 20:37:36 · 164 阅读 · 0 评论 -
MySQL基础--数据类型和约束
数据类型和约束(一)数据类型MySQL数据库中提供了数据类型可以用于在不同场景中描述具体数据,主要包含数值型以及日期时间型、字符型、二进制型等各种类型。*1、 数值型**类型**字节**描述*TINYINT1 字节(-128,127)SMALLINT2 字节(-32 768,32 767)MEDIUMINT3 字节(-8 388 608,8 388 607)INT4 字节(-2 147 483 648,2 147 483 647)BIGI原创 2021-07-05 20:18:56 · 93 阅读 · 0 评论 -
MySQL基础--MySQL数据库基本操作
数据库基础操作安装好MySQL软件之后,DBMS就已经构建完成了,通过DBMS来完成数据库的创建、管理以及维护的工作。mysql > db > table > datba连接数据库连接本地数据库mysql -uroot -p连接远程数据库:mysql - u有用户名 -p -P端口号 -h ip地址-P 指定端口号-h 指定远程服务器ip地址• 创建数据库CREATRE DATABASE 库名 CHARSET=UTF8;• 切原创 2021-07-05 20:17:44 · 1279 阅读 · 0 评论 -
MySQL基础--MySQL数据库的安装与卸载
MySQL数据库的安装与卸载安装MySQL1. 把mysql-8.0.19-winx64.zip解压放到c盘目录下2.(这一步可以放到安装完成在去设置)MySQL软件bin目录添加到PATH环境变量中 C:\mysql-8.0.19-winx64\bin3.在MySQL解压目录下创建my.ini文件(注意把注释删除掉)[mysqld]# 标题设置3306端⼝port=3306# 设置mysql的安装⽬录basedir=c:\mysql-8.0.19-winx64# 设置mysql数据原创 2021-07-05 20:15:59 · 105 阅读 · 0 评论 -
MySQL基础--MySQL数据库简介
Mysql数据库简介(一)数据库概述百度百科:数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。数据库就是一个存放应用软件数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来对数据进行组织和存储的,我们可以通过数据库提供的多种方法来管理其中的数据。(二)数据库专业术语DB(DataBase): 数据库,负责具体原创 2021-07-05 19:57:49 · 583 阅读 · 0 评论