
Mysql
文章平均质量分 89
Mysql相关内容
蜗牛^_^
学无止境
展开
-
Mysql 5.7实现存在则更新,不存在则新增
需求:如果表中存在某行,那么更新即可;不存在某行,那么就新增一条。通常是将主键索引或唯一索引作为判断条件。思路:可以使用Mysql的INSERT ... ON DUPLICATE KEY UPDATE或REPLACE或UPDATE实现。如果希望一条语句实现,可以考虑前两种实现创建一张表,表中包含自增Id和唯一索引email。CREATE TABLE `user_info` ( `Id` smallint(6) NOT NULL AUTO_INCREMENT, `email` varch原创 2020-07-01 15:00:13 · 1189 阅读 · 0 评论 -
MYSQL中批量替换某个字段的部分数据
修改字段里的所有含有指定字符串的文字UPDATE 表A SET 字段B = replace(字段B,'aaa','bbb');说明:将表A中字段B中含有的aaa字符串替换为bbb。举例说明:1)新建一张表tuserCREATE TABLE `tuser` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255)...转载 2018-08-22 14:16:23 · 828 阅读 · 0 评论 -
数据库事务与锁(一)——事务的简单介绍
前言最近系统上线了,这两天收到反馈,操作按钮动不了了、删除按钮动不了了等等类似的问题,仔细查看日志错误,提示:Lock wait timeout exceeded; try restarting transaction。于是乎,就想把数据库事务与锁的知识深入了解一下,也为自己解决问题提供思路。本系列文章主要源于Kevin老师的《一次性彻底搞定数据库事务》,感谢老师的讲解。在本篇文章中,我们先来...原创 2018-08-17 16:06:04 · 3695 阅读 · 0 评论 -
数据库事务与锁(二)——锁的简单介绍
数据库为了支持事务的隔离级别,引入锁机制。本篇文章简单介绍锁的概念,这里以MYSQL为例,使用InnoDB引擎。MYSQL InnoDB的特点:1、支持行级锁、表级锁,支持事务,支持外键,支持非锁定读(默认读取操作不会产生锁,比如select * from table1不会产生锁);2、通过多版本并发控制(MVCC)获得高并发性(即使用数据快照进行默认读取操作),并实现SQL标准的4种隔离级...原创 2018-09-02 19:48:07 · 366 阅读 · 0 评论 -
数据库事务与锁(四)——实战
本文主要围绕主键(同行、不同行)加锁、普通列加锁、索引(普通索引、唯一索引)列加锁几种情况进行展开说明。新建数据库tbook,id列为主键,name列为唯一索引,price列为普通索引,author列为普通列:CREATE TABLE `tbook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(45) DEFAUL...原创 2018-09-02 20:12:31 · 805 阅读 · 0 评论 -
数据库事务和锁(三)——INNODB_LOCKS, INNODB_LOCK_WAITS, INNODB_TRX表的简单介绍
INNODB_LOCKS, INNODB_LOCK_WAITS, INNODB_TRX是MYSQL中事务和锁相关的表。通常我们遇到事务超时或锁相关问题时,直接运行下面SQL语句即可进行简单检查:--查看事务select * from information_schema.INNODB_TRX;--查看锁select * from information_schema.INNODB_...原创 2018-09-02 20:02:12 · 16917 阅读 · 0 评论