![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 82
谈笑江湖
井中之蛙,不识大海
弱者也有志气不可轻辱,
匹夫不可多其志!!!
展开
-
回答mysql 10个问题
1.事务的概念是什么? 事务是对数据库中数据操作的保证数据逻辑一致的最小操作单位。 2.mysql的事务隔离级别读未提交, 读已提交, 可重复读, 串行各是什么意思? 读未提交:一个事务读取到了其他事务未提交的操作。 读已提交:一个事务读取到了其他事务已经提交的操作。 可重复读:一个事务从它开始到结束整个生命周期中,所能读取到的数据内容和它启动的时候所能读到的数据内容是相同的。不会出现在事务运行的整个过程中,不同的时间点读取到的数据不一样的情况。 串行化:所有的事务都进行排队执行,事务之间不存才并发的情况。原创 2021-05-07 23:18:24 · 115 阅读 · 0 评论 -
数据库的数据导入和导出
win系统: 1.将数据库中的数据导出 在dos命令窗口中执行 导出数据库中的某一张表 mysqldump km_mn book>D:\km_book.sql -uroot -p123 2.导入数据 登录mysql 数据库管理系统之后执行: 1.进入数据库 2.创建km_book库 3.use km_book 4.创建表book表 5.导入数据: source D:\km_book.sql ...原创 2020-10-23 10:39:50 · 636 阅读 · 0 评论 -
主从复制
概述: 保证数据的安全性。 mysql 中提供了主从复制功能以提高服务的可用性和数据的安全性 主从复制是指服务器分为主服务器和从服务器,主服务器负责读和写,从服务器只负责读,主从复制也叫master/slave, master是主,slave是从,但是并没有强制,也就是说从可以写的。主也可以读,但是我一般不这样做。 架构设计 一主多从:(保证读的高可用) 缺点:一但主库奔溃,不能写,但是从库可以读 有点:一但主库奔溃,不能写 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im原创 2020-10-15 20:08:35 · 118 阅读 · 1 评论 -
完整的DQL 语句
select 5 ... from 1 ... where 2 ... group by 3 ... having 4 ... order by 6 ...原创 2020-10-14 19:35:47 · 194 阅读 · 0 评论 -
数据库表设计
什么是设计三范式: 1.1 设计表的依据:按照这个三范式设计的表不会出现数据冗余 三范式都有哪些: 第一范式: 第一范式:任何一张表都有一个主键,并且每一个字段原子性不可以再分 例子不满足第一范式: 学生标号 学生姓名 联系方式 001 jaden zjl@123.com, 13029199039 002 haoyue why@139.com, 13000009999 001 jalen jjl@126.com, 12911110000 存在的问题 最后一条数据和第二条原创 2020-10-14 16:09:51 · 1884 阅读 · 0 评论 -
Mysql存储引擎——MyISAM
存储引擎 这个名词只有在MySQL 中存在,(oracle中有对应的机制,但是不叫存储引擎,Oracle 中只叫:表的存储方式) 常见的存储引擎: Engine: 特点 InnDB 字符集大都 utf-8支持事务这种存储数据安全性。支持行级锁,外键不支持压缩 1.每个InnoDB表在数据库目录中.frm格式文件表示2.InnoDB表空间tablespace被用于存储表的内容,无转换为只读3.提供一组用来记录事务性活动的日志文件4.用commit,rollback, save point 支原创 2020-10-07 16:16:50 · 195 阅读 · 1 评论 -
mysql---外连接
定义: 外连接: 假设A和B表进行连接,使用外连接的话,AB两表中的一张表为主表,一张为副表,主要查询的主表中的数据,捎带查询一下副表,当副表中的数据没有和主表中的数据匹配上,副表自动模拟出Null与之匹配。 内连接: 假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录查询出来,这就是内连接。 AB两表没有主次之分 分类: 左外连接: 表示左边的表为主表 右外连接: 表示右边的表为主表 左连接有右连接的写法,右连接又有左连接的写法。 CREATE TABLE `course` ( `原创 2020-10-04 16:47:32 · 101 阅读 · 0 评论 -
MySQL 四种隔离级别
Mysql的四种隔离级别 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。 Read Committed(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是M原创 2020-10-02 16:13:27 · 670 阅读 · 0 评论 -
SQL DQL, DML, DDL, DCL, TCL
原创 2020-09-30 18:37:13 · 80 阅读 · 0 评论 -
MySQL 事务 脏读,不可重复读,幻读
MySQL 事务: 一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同 事务的四大特性: 原子性:指处于同一个事务中的多条语句是不可分割的。 一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。比如转账,转账前两个账户余额转载 2020-09-27 22:30:06 · 149 阅读 · 0 评论 -
联合索引的底层存储结构长什么样子
联合索引:原创 2020-09-27 08:07:33 · 1181 阅读 · 1 评论 -
为什么InnoDB表需要有主键
1.如果在innoDB 数据表的创建过程中,没有新建主键的话。自己会创建一个主键。 2. innoDB 的主键推荐为整型,自增id 3. 为啥不使用uuid 3.1 uuid 既不是整形,也不是自增 3.2 字符串比int 难比较 3.3 ssd 整型占据空间比较小 3.4 如果不是自增的话,需要下图平衡,对于insert不利 4.自增idd的讲述 哈希查询;不适用于范围索引。 B+ 数; 所有的叶子节点是排好序的。 叶子节点存储了相邻节点的位置,双向指针。 进行范围索引时:通过叶点之间的指针进行索引。原创 2020-09-27 00:11:19 · 1127 阅读 · 0 评论 -
MySQL 数据结构的温习
MySQL 高效的获取数据排序好 的 数据结构 索引数据结构; 1.二叉树 2.红黑树 3.Hash表 4.B_tree B-树 B+数 B+ 树可以设置自己层级,但是可以每个层级的大小是有要求的,大约为16多KB 第一行的空白位置,存储时下一行的索引的地址,大小为6个字节, 绿色方块,占据的是8位字节 第三层叶子节点位置大约放的是1170 * 1170* 16 = 2100多万 而且数据第一层索引放在RAM(内容) 中 , B ...原创 2020-09-26 22:43:42 · 153 阅读 · 0 评论 -
MySQL json 数据的提取。
SELECT s.id,u.user_name,t.category_name, JSON_UNQUOTE ( t.category_name -> '$.cn' ) as cn FROM mydb3.user_info AS u INNER JOIN mydb3.user_shop AS s INNER JOIN mydb3.t_shop_category AS t ON u.id = s.user_id AND ..原创 2020-09-25 11:33:06 · 1087 阅读 · 0 评论 -
SQL 中left join、inner join和right join的区别
学生表: strdent INSERT INTO book.student VALUES ('1','张三', '66', '3'); INSERT INTO book.student VALUES(2,'李四','88','3'); insert into book.student values(3,'王五','89','2'); 课程表:course insert into book.course values('1','语文'); … 左连接:以student 为基础表 select * fr原创 2020-09-24 22:38:06 · 98 阅读 · 0 评论 -
mysql workbench 导出表格式和数据
第一步:数据导出 第二步: 点击 第三步:最后的结果原创 2020-07-08 16:56:52 · 675 阅读 · 0 评论 -
mysql—workbench创建表 字段说明
原创 2020-07-08 12:51:34 · 1113 阅读 · 0 评论 -
mysql 复制表
– 复制表结构 CREATE TABLE mydb2.stu_01(新表) LIKE mydb2.stu (旧表); – 创建新表并且复制旧表中的数据 create table mydb2.stu_03(新表) (select * from mydb2.stu) (旧表);原创 2020-07-08 12:24:32 · 99 阅读 · 0 评论 -
MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1
前提: 查看一下自己数据库表中的对应字段的数据类型。 我遇到这种1406问题情境: 1、我想在表中插入josn格式的数据:如图 1.1插入的是中文时报了1406的错误, 2.解决方法: 2.1 查看自己表的数据结构: 是否json格式,如果不是,请修改,修改后插入即可。 ...原创 2020-03-04 00:08:48 · 933 阅读 · 0 评论 -
SQLAlchemy 初始化数据库报错
连接数据库出现: **问题:**使用sqlalchemy初始化数据库报错 ModuleNotFoundError: No module named ‘mysql’ 解决方案: pip install mysql-connector 即可原创 2020-01-08 10:41:37 · 258 阅读 · 0 评论