mysql
文章平均质量分 77
Java编程之道
这个作者很懒,什么都没留下…
展开
-
Screw表结构数据文档生成
Screw表结构数据文档生成原创 2022-07-28 09:49:48 · 162 阅读 · 0 评论 -
批量插入SQL数据
1. 批量插入数据CREATE PROCEDURE BatchInsertCustomer(IN start INT,IN loop_time INT) BEGIN DECLARE Var INT; DECLARE ID INT; SET Var = 0; SET ID= start; WHILE Var < loop_time DO insert into customer(ID, email, name, pas原创 2021-09-18 13:49:30 · 298 阅读 · 0 评论 -
08 | 事务到底是隔离的还是不隔离的
如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。...原创 2021-07-26 14:31:58 · 90 阅读 · 0 评论 -
07丨行锁功过:怎么减少行锁对性能的影响
1. 引言 行锁就是针对数据表中行记录的锁。这很好理解,比如事务 A 更新了一行,而这时候事务 B 也要更新同一行,则必须等事务 A 的操作完成后才能进行更新。2. 从两阶段锁说起 我先给你举个例子。在下面的操作序列中,事务 B 的 update 语句执行时会是什么现象呢?假设字段 id 是表 t 的主键。 这个问题的结论取决于事务 A 在执行完两条 update 语句后,持有哪些锁,以及在什么时候释放。你可以验证一下:实际上事务 B 的 update 语句会被阻塞,直到事务 A 执行com原创 2021-07-16 16:32:14 · 182 阅读 · 2 评论 -
06 | 全局锁和表锁 : 给表加个字段怎么有这么多阻碍
引言 根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。这篇文章,与你分享全局锁和表级锁。而关于行锁的内容,我会留着在下一篇文章中再和你详细介绍。全局锁 全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock(FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语原创 2021-07-16 15:54:42 · 120 阅读 · 0 评论 -
05丨深入浅出索引(下)
1. 引言 在下面这个表 T 中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?CREATE TABLE T ( ID INT PRIMARY KEY, k INT NOT NULL DEFAULT 0, s VARCHAR (16) NOT NULL DEFAULT '', INDEX k (k) ) ENGINE = INNODB; ------------------- INSERT INTO原创 2021-07-13 18:23:34 · 113 阅读 · 0 评论 -
04 | 深入浅出索引(上)
1. 引言 索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。2. 索引的常见模型这里我先给你介绍三种常见、也比较简单的数据结构,它们分别是哈希表、有序数组和搜索树。哈希表 哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数原创 2021-07-12 17:12:17 · 154 阅读 · 2 评论 -
03 | 事务隔离:为什么你改了我还看不见
1. 简介 简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL中,事务支持是在引擎层实现的。你现在知道,MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是MyISAM 被 InnoDB 取代的重要原因之一。2. 隔离性与隔离级别 提到事务,你肯定会想到 ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天原创 2021-07-12 15:47:28 · 148 阅读 · 0 评论 -
02 | 日志系统:一条 SQL 更新语句是如何执行的
可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID和一个整型字段 c:> create table T(ID int primary key, c int); 如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写:mysql> update T set c=c+1 where ID=2; 前面我有跟你介绍过原创 2021-07-06 17:45:37 · 107 阅读 · 0 评论 -
01 | 基础架构:一条 SQL 查询语句是如何执行的
1. MySQL整体架构预览 MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL的各个功能模块中的执行过程。 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 In原创 2021-07-02 18:19:36 · 108 阅读 · 1 评论 -
MySQL数据库索引
1.用MyISAM引擎创建表CREATE TABLE `accoun` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `money` double DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAU...原创 2020-03-07 23:17:25 · 135 阅读 · 0 评论 -
解决mysql插入中文出现错误Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F...‘ for column ‘course‘ at row 1
一:在windows中打开命令行,切换到mysql的bin目录下,登陆数据库,然后把数据库切换到自己的数据库中二:使用show create table 加上你自己的表明查看数据表的编码是什么,如果是下图所示则需要修改玮utf-8的编码格式。具体命令如下:alter table tableName(你自己的表名) default character set utf8;修改成功后再次查看数据库表的字符编码是什么,如果是utf8表示修改成功,否则修改失败,需要重新设置编码格式最后问题迎刃而解,希望原创 2020-11-09 17:51:09 · 487 阅读 · 0 评论 -
购物车功能
1.介绍1.购物车在不登陆的情况下,也可以使用需要引入浏览器cookie的操作2.购物车在登陆情况下,需要使用Redis和MySQL来存储数据Redis作为购物车缓存3.在缓存情况下,或者用户添加购物车后,允许购物车中的数据和原始数据的不一致4.购物车同步问题什么时候同步(结算、登陆)同步购物车后,是否删除cookie数据5.用户在不同客户端同时登陆如何处理购物车数据`...原创 2020-01-29 11:38:24 · 586 阅读 · 0 评论 -
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
1.用show variables like '%secure%';查看文件导出的指定目录及secure_file_priv对应的value2.在mysql的my.ini中修改secure_file_priv为空原创 2019-06-03 16:36:02 · 286 阅读 · 0 评论 -
Mysql事务与锁深入剖析
1.事务知识准备1.查看数据库版本:select version();2.查看数据库引擎:select variables like '%engine%';3.查看数据事务隔离级别:select global variables like "tx_isolation";2.如何开启事务及事务四大特性1.手动开启事务:begin/start transaction2.设置事务是...原创 2019-05-02 18:34:35 · 122 阅读 · 0 评论 -
Linux MySQL 忘记root 密码
多久不用,密码遗忘,那么MySQL在linux上如何修改密码一.Linux MySQL 查看版本号二.1.vim /etc/my.cnf 末尾加skip-grant-tables2.重启MySQL service mysqld restart3.mysql[root@XXXXXX~]# mysqlWelcome to the MySQL monitor. Comm...转载 2018-11-09 11:00:26 · 309 阅读 · 0 评论 -
500 G JAVA视频网盘分享(JEECG开源社区)
[涵盖从java入门到深入架构,Linux、云计算、分布式、大数据Hadoop、ios、Android、互联网技术应有尽有]JEECG开源社区秉承开源宗旨,分享社区Java架构视频,更多资料点击: www.jeecg.org JEECG师徒架构群③: 24110687Jeecg开设师徒架构学习班(师傅带徒弟模式),有兴趣的可以参加学习 => 开源社区师徒架构班1、javascript视频教程...转载 2018-03-29 19:55:05 · 1575 阅读 · 0 评论 -
Mysql知识整理
一.库操作1.创建数据库:create database 表名 charset utf-8;创建数据库会创建:default-character-set=utf8 default-collation=utf8_general_ci2.查看数据库的创建库的过程:show create database 数据库名;2.删除数据库(级联删除:里面的...原创 2018-03-30 22:57:00 · 178 阅读 · 0 评论 -
Mysql事务
一.事务:一系列要发生的连续操作 1.事务操作:自动操作、收到操作 1)手动操作,操作流程 A.操作流程: 1.开启事务:告诉系统一下操作不要直接都写到数据表中,而是先存放到事务日志中去,start transaction; ...原创 2018-04-08 17:45:19 · 119 阅读 · 0 评论 -
Sql编程
一.变量:系统变量、自定义变量 1.系统变量:用来控制服务器的属性,如autocommit、auto_increment_increment a.查看系统变量:show global variables; b.查看具体变量值:select @@变量名 c.修改系统变量:会话级别、全局级别...原创 2018-04-09 17:46:28 · 315 阅读 · 0 评论 -
Mysql列属性
一.主键(primary key):一张表中只能有一个主键 1.增加主键直接在字段名后加:id int(4) not null primary key 2.复合主键:创建表之后在所有字段后使用primary key(主键字段列表)来创建主键(如果有多个字段做主键可以使用复合主键): create ...原创 2018-04-02 17:12:11 · 167 阅读 · 0 评论 -
Mysql高级操作
一.新增数据 1.基本语法:insert into 表名(字段列表) values(值列表); 2.主键冲突:可以(duplicate)进行选择性处理:更新或替换 1):更新操作: insert into 表名(字段列表:包含主键) values(值列表) on duplicate key update 字段=值; ...原创 2018-04-03 17:48:31 · 481 阅读 · 0 评论 -
SQL高级(二)
一.连接查询:将多张表联合查询(按照某个指定的条件进行拼接) 1.连接查询的分类:交叉连接 1):交叉连接:从一张表中循环取出每一条记录,然后去另一张表中匹配(无条件匹配) select * from student cross join class; selec...原创 2018-04-04 17:42:59 · 344 阅读 · 0 评论 -
Sql高级查询(三)
一.联合查询:将多次查询(多条select语句),在记录上拼接(字段不会增加) 1. 基本语法:多条select构成,每条select语句字段数保持一致(字段类型可以不一致) 1):select 语句1 union[选项] select 语句2 union[选项] ...原创 2018-04-06 18:49:28 · 248 阅读 · 0 评论 -
Mysql视图与数据备份
一.视图view,是一种结构(有行有列)但没结果(结构中不存放真实数据)的虚拟表,虚拟表中的结构不是自己定 义而是由基表产生(视图的的数据来源) 1.创建视图:create view 视图名字 select 语句(可以是普通select语句、连接查询、联合查询、子查询); 1):创建单表视图:create view stu as ...原创 2018-04-07 11:16:39 · 1338 阅读 · 0 评论 -
mysql练习题
department(dNo,dName,officeRoom,homepage) student(sNo,sName,sex,age,dNo) course(cNo,cName,cPNo,credit,dNo) sc(sNo,cNo,score,recordDate) 问题及解决方案:[java] view plain copyQuery 一、单表 (1)查询所有年龄大于等于20岁的...转载 2018-05-18 16:46:18 · 822 阅读 · 0 评论 -
将Sql数据库中的表导出到指定文件
2.导出数据表txt文件到指定目录:select * from table_name into outfile '指定目录';3.加载指定文件到数据表中:load data local infile '文件路径' into table table_name;...原创 2018-03-08 17:19:22 · 2333 阅读 · 0 评论