MySQL
文章平均质量分 74
MySQL学习笔记及常见问题解决
MegaBytes
一只刚刚入门的小猿
展开
-
(一)MySQL学习笔记——MySQL、可视化工具的安装
一、下载安装MySQL数据库去官方网站下载自己合适的操作系统版本,这里我以macOS为例,我下载的是第一个dmg文件,8.0.23版本,直接一步步安装即可。Linux系统差不多。当然也可以通过brew或linux的包管理工具安装。二、下载数据库可视化连接工具由于命令行下数据库的可视化较差,所以使用更为直观方便的可视化工具。常见的数据库可视化连接工具有windows平台的sqlyog,全平台的Navicat和JetBrains家族的DataGrip。我尝试了Navicat,发现新版本使用时打字非常卡原创 2021-03-14 11:28:06 · 211 阅读 · 0 评论 -
(二)MySQL学习笔记——SQL语句分类(DDL、DML、DQL、DQL)
文章目录一、SQL语句分类二、数据定义语言:DDL1.DDL操作数据库1.1 查询数据库1.2 创建数据库1.3 修改数据库1.4 删除数据库2.DDL操作数据表2.1 查询数据表2.2 创建数据表2.3 修改数据表2.4 删除数据表三、数据操作语言:DML1.DML向表中插入数据2.DML修改表中数据3.DML删除表中数据四、数据查询语言:DQL0.数据准备1.普通查询1.1 查询某张表的全部数据1.2 查询某张表的某几列1.3 查询某张表的某几列并去重1.4 查询某张表的某几列兵进行四则运算1.5 给查原创 2021-03-14 14:54:01 · 191 阅读 · 0 评论 -
(三)MySQL学习笔记——约束
文章目录1.约束的概念及分类2.几种约束类型(1)主键约束(2)主键自增约束(3)唯一约束(4)非空约束(5)外键约束(6)外键级联更新和外键级联删除1.约束的概念及分类约束的概念约束是对表中的数据进行限定,保证数据的正确性、完整性和有效性等。约束的种类约束说明PRIMARY KEY主键约束PRIMARY KEY AUTO_INCREMENT主键、自动增长UNIQUE唯一约束NOT NULL非空约束FOREIGN KEY外键约束FOR原创 2021-03-12 13:47:16 · 99 阅读 · 0 评论 -
(四)MySQL学习笔记——多表设计、多表查询、多表查询练习题
一、多表设计多表设计即上一章的外键约束,通过外键约束将表之间建立联系,分为一对一、一对多、多对多等三种。1.一对一设计例如用户表person和身份证表card,用户表中的任意一条数据只能对应身份证表中的一条数据。实现:在其中一张表建立外键,关联另一张表的主键。CREATE DATABASE db5;USE db5;-- 创建person表CREATE TABLE person( id INT PRIMARY KEY AUTO_INCREMENT, -- 用户id 唯一且非空原创 2021-03-12 19:38:20 · 1007 阅读 · 0 评论 -
(五)MySQL学习笔记——视图
1.视图的概念及作用视图是一种虚拟的数据表,并不在数据库中真实存在;视图的作用是将一些复杂的查询语句的结果封装到一个虚拟表中以供后期再次使用;即将SELECT的查询语句封装为一个虚拟表;例如,上一章多表查询的子查询中,被嵌套的语句查询的结果即可以封装为视图。2.视图的好处简单:使用视图后,这张虚拟表中已经保存的是过滤好的结果,不用关心表的结构、关联条件和筛选条件安全:视图可以设置权限数据独立:视图的结构确定后原表增加列对视图无影响,原表修改列名可以通过修改视图解决3.视图测试-数据准原创 2021-03-12 20:33:40 · 165 阅读 · 0 评论 -
(六)MySQL学习笔记——MySQL的备份和恢复
1.MySQL的备份命令行直接使用命令进行备份:mysqldump -u root -p db7 > ~/Desktop/db7_backup.sql查询一下备份的是啥内容:2.MySQL的恢复直接命令行下进行:drop db7; -- 删除db7数据库 show databases;-- 已经没有db7了create database db7;-- 创建数据库db7use db7;source ~/Desktop/db7_backup.sql -- 恢复完成...原创 2021-03-12 20:51:58 · 79 阅读 · 0 评论 -
(七)MySQL学习笔记——存储过程、存储函数
文章目录一、MySQL存储过程、存储函数的概念二、存储过程、存储函数的好处三、存储过程存储函数的区别四、存储过程的创建1.数据准备2.存储过程的创建五、存储过程的调用六、存储过程的查看七、存储过程的删除八、存储过程的语法1.变量1.1 定义变量、查询变量1.2 赋值变量2.if语句3.参数传递4.while语句5.存储函数的创建、调用、删除一、MySQL存储过程、存储函数的概念存储过程、存储函数是预先编译好并存储在数据库中的一段SQL的集合,类似于写好的函数。二、存储过程、存储函数的好处类似于原创 2021-03-13 10:17:37 · 178 阅读 · 0 评论 -
(八)MySQL学习笔记——触发器
文章目录一、触发器的概念二、创建触发器三、查看触发器四、删除触发器一、触发器的概念触发器可以在INSERT、UPDATE、DELETE之前或之后触发定义好的SQL语句。例如对某张表执行INSERT操作后自动触发日志记录的功能,记录到另一张表中。使用NEW和OLD关键字获取操作之后和操作之前的数据。触发器有三种:触发器类型OLD的含义NEW的含义INSERT 型触发器无 (因为插入前状态无数据)NEW 表示将要或者已经新增的数据UPDATE 型触发器OLD 表示原创 2021-03-13 10:59:50 · 101 阅读 · 0 评论 -
(九)MySQL学习笔记——事务
文章目录一、事务的概念二、如何使用事务1.数据准备2.使用事务三、事务的提交方式四、事务的四大特征(ACID)五、事务的隔离级别1.隔离级别概念2.四种隔离级别3.不同隔离级别可能引发的问题4.查询及修改事务隔离级别5.脏读、不可重复读、幻读问题测试5.1 脏读问题测试5.2 不可重复读问题测试5.3 幻读问题测试一、事务的概念事务:多条SQL语句组成一个执行单元,这些语句要么都执行成功,要么都执行失败。如果都执行成功则此事务执行成功;如果有一条执行失败则导致整个事务所有语句执行失败,整个事务回滚到原创 2021-03-13 19:59:24 · 108 阅读 · 0 评论 -
(十)MySQL学习笔记——数据库的存储引擎
一、MySQL的体系结构MySQL体系结构详解客户端连接支持接口:支持的客户端连接,例如C、Java、PHP等语言来连接MySQL数据库第一层:网络连接层连接池:管理、缓冲用户的连接,线程处理等需要缓存的需求。例如:当客户端发送一个请求连接,会从连接池中获取一个连接进行使用。第二层:核心服务层管理服务和工具:系统的管理和控制工具,例如备份恢复、复制、集群等。SQL接口:接受SQL命令,并且返回查询结果。查询解析器:验证和解析SQL命令,例如过滤条件、语法结构等。查询优原创 2021-03-13 20:47:16 · 114 阅读 · 0 评论 -
(十一)MySQL学习笔记——索引
文章目录一、索引的分类二、索引操作0.数据准备1.创建索引2.查看索引3.添加索引4.删除索引三、索引实现方式四、索引的设计原则1.创建索引时的原则2.适用于组合索引的最左匹配原则一、索引的分类功能分类普通索引: 最基本的索引,它没有任何限制。唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值组合必须唯一。主键索引:一种特殊的唯一索引,不允许有空值。一般在建表时同时创建主键索引。组合索引:顾名思义,就是将单列索引进行组合。外键索引:只有InnoDB引擎支持外键索引,用来保原创 2021-03-13 22:02:01 · 100 阅读 · 0 评论 -
(十二)MySQL学习笔记——锁机制
一、锁的分类按操作分类:共享锁:也叫读锁。针对同一份数据,多个事务读取操作可以同时加锁而不互相影响 ,但是不能修改数据记录。排他锁:也叫写锁。当前的操作没有完成前,会阻断其他操作的读取和写入按粒度分类:表级锁:操作时,会锁定整个表。开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突概率高,并发度最低。偏向于MyISAM存储引擎!行级锁:操作时,会锁定当前操作行。开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率低,并发度高。偏向于InnoDB存储引擎!页级锁:锁的粒度、发生冲原创 2021-03-14 11:05:01 · 107 阅读 · 0 评论 -
Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除
今天在测试主从服务器Mysql同步时遇到了从数据库显示Slave_IO_Running:Connecting的问题,下面列举几种可能的错误原因:1.网络不通2.账户密码错误3.防火墙问题4.mysql配置文件问题5.主服务器mysql权限问题下面逐项测试:主服务器:ubuntu:192.168.16.105从服务器:ubuntu:192.168.16.115故障1:因为从服务器是...原创 2019-02-01 13:59:11 · 80738 阅读 · 43 评论