mysql
文章平均质量分 58
RuiW_97
测试小白进阶ing
展开
-
一道sql题—删除重复字段
思路先以name分组得到相应最小ID,再执行删除不一致的IDdelete from numberwhere id not in(select a.id from(select min(id) from numbergroup by name) a);原创 2021-08-06 20:11:43 · 101 阅读 · 0 评论 -
MySQL数据库主键与外键
主键和外键都是约束。主键用于保持数据完整性,外键作用于两个表建立连接。下面分别介绍主键、外键及其区别。主键表中经常有多个列,主键是唯一标识表中每行的列。一个表只能有一个主键,主键列不能包含null值。例如:学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键;课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键联合主键当某一列不能唯一识别每行,使用联合主键,将两列看为一个整体。非空、唯一、不重复。例如:成绩表(学号,课程号,成绩)成绩表中原创 2021-06-28 16:39:51 · 11731 阅读 · 7 评论 -
招银提前批面试一道简单SQL题
面试馆出的题很简单,奈何平时练的都是select,好久没用过update和delete了。以面养面,继续总结!题目:在此推荐一个练习DDL语言的好网站建表:DROP TABLE IF EXISTS employees; CREATE TABLE employees ( id int(4) primary key not null auto_increment, name varchar(255) NOT NULL, s_x int(4) not null,原创 2021-05-27 21:25:58 · 8120 阅读 · 0 评论 -
MySQL—MVCC、当前读、快照读
MVCC多版本并发控制,通过保存数据在每个时间点的快照来实现。InnoDB的MVCC通过在每行记录后面保存两个隐藏的列来实现,一列保存行的创建时间,一列保存行的删除时间,这个时间指的是系统版本号。MVCC**只在读已提交(RC)和可重复读(RR)**两个隔离级别下工作。快照读读取记录的可见版本(有可能是历史版本),不用加锁。简单的select操作,不包括 select ... lock in share mode,select ... for update。RC:每次select都生成一原创 2021-05-24 12:40:38 · 754 阅读 · 0 评论 -
MySQL存储引擎及其索引实现
存储引擎指表的类型及表在计算机上的存储方式。主要的存储引擎有InnoDB、MyISAM、Memory等。MyIASM1、使用这个存储引擎,每个MyISAM在磁盘上存储三个文件。• frm文件:存储表的定义数据• MYD文件:存放表具体记录的数据• MYI文件:存储索引2、特点:不支持事务,每次查询具有原子性支持表级锁,每次操作对整个表加锁采用非聚簇索引,索引文件与数据文件分离。索引文件的数据域存储指向数据记录的地址。辅助索引与主键索引基本一致,只是主索引要求key是唯一的,辅索引的ke原创 2021-05-23 15:20:00 · 181 阅读 · 0 评论 -
MySQL索引底层实现
一、引入索引的概念:索引是可以快速获取数据的数据结构。那么既然是数据结构,用什么数据结构实现呢?首先对于下面的表如果执行语句 select * from t where t.money = 300;,需会全表扫描,一条一条的遍历查询。查询一行数据至少和磁盘做一次I/O操作(I/O是很耗性能的),至少要做 7 次 I/O 操作。二、索引的数据结构1)AVL树那么利用AVL树的特性,将数据划分为两部分,可以降低时间复杂度。图示是最好的情况,近似于折半查找,时间复杂度为O(log2n)。但对原创 2021-05-22 22:26:28 · 314 阅读 · 0 评论 -
MYSQL 5.7.22 升级到 8.0.22
由于加入项目使用MYSQL 版本为8.0.19,所以将系统的 5.7.22 更新到了 8.0.22。踩了很多坑,好在都解决了,希望给搜到这篇文章的你一个参考。步骤:卸载5.7.22进入5.7.22安装目录,进入bin目录,输入:cd C:\Program Files\mysql\binmysqld -remove进行卸载,显示即卸载成功!安装8.0.22在官网下载想要的版本,我下载的是zip文件。配置环境变量将安装包解压到你要安装的目录,将 bin 目录添加至环境变量。配置原创 2020-12-31 16:21:44 · 271 阅读 · 0 评论 -
从JDBCUtils看代码简洁之道
从JDBCUtils看代码简介之道使用PreparedStatement实现增删改查代码实现:import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.util.Properties;import java.util.Scanner;public class TestPrepare原创 2020-11-16 15:01:19 · 71 阅读 · 0 评论