
mysql
文章平均质量分 63
LY破晓
越努力越幸运
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL之You can‘t specify target table for update in FROM clause解决办法
这篇文章主要介绍了mysql中You can’t specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下MySQL中You can’t specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql:代码如下:delete from tbl where id in ( se转载 2020-11-04 13:55:41 · 692 阅读 · 0 评论 -
mysql通过Navicat 分区
mysql分区有利于管理非常大的表,mysql分区一共有四种类型,range分区,list分区, hash分区,key分区,我们通过Navicat 可视化工具来分区1.打开Navicat 找到指定的数据库,设计表2.打开设计表选择选项,下面有分分割区3.首先看hash分区,基于给定的分区个数,把数据分配到不同的分区4.通过sql查看一下分区表的信息5.range 分区,表示要按照哪个字段进行分区,可以是一个字段名,也可以是对某个字段进行表达式运算如year(create_time),使用转载 2020-10-15 16:55:20 · 3606 阅读 · 0 评论 -
MySQL中的any_value()函数
MySQL5.7之后,sql_mode中ONLY_FULL_GROUP_BY模式默认设置为打开状态。ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在此模式下,target list中的值要么是来自于聚合函数(sum、avg、max等)的结果,要么是来自于group by list中的表达式的值。网上有很多通过修改sql_mode的方式来解决此问题。但除此方法,MySQL也提供了any_value()函数来抑制ONLY_FU转载 2020-09-23 14:48:49 · 2374 阅读 · 0 评论 -
Mysql中的in和find_in_set的区别?
1.是否使用索引find_in_set:不使用索引,是全表扫描in:使用索引2.使用方法在mysql中in的使用情况如下(in里面放的是常量):select * from article where 列名 in(值1,值2,值3…);select * from article where 值1 in(值1,值2,值3…);在mysql中find_in_set的使用情况如下(find_in_set可以放常量也可以放变量):select * from article where fi原创 2020-09-22 16:27:16 · 670 阅读 · 0 评论 -
为什么写入redo log和bin log要用两个阶段提交呢
redo log 和 binlog 区别: redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。 redo log 是物理日志,记录的是在某个数据页上做了什么修改;binlog 是逻辑日志,记录的是DDL和DML操作语句。 redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。追加写是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。 redo log+b原创 2020-09-09 14:21:21 · 793 阅读 · 0 评论 -
Mysql数据库之Binlog日志使用总结(必看篇)
一、binlog日志介绍1)什么是binlogbinlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。2)binlog作用因为有了数据更新的binlog,所以可以用于实时备份,与master/slave主从复制结合。3)和binlog有关参数log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlo转载 2020-09-09 13:53:21 · 1456 阅读 · 0 评论 -
MySQL 自动清理binlog日志的方法
说明:开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被binlog日志占满,导致MySQL数据库出错。使用下面方法可以安全清理binlog日志一、没有主从同步的情况下清理日志mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)';#mysql 定时清理5天前的binlogmysql -u root -p转载 2020-09-09 12:52:28 · 1563 阅读 · 0 评论 -
MySQl中的\g和\G
1. \g在MySQL的sql语句后加上\g,效果等同于加上定界符,一般默认的定界符是分号; 2. \G在MySQL的sql语句后加上\G,表示将查询结果进行按列打印,可以使每个字段打印到单独的行。即将查到的结构旋转90度变成纵向;(1)使用前,显示效果很差(1)使用后,显示效果不错,方便查询...转载 2020-09-09 12:28:47 · 540 阅读 · 0 评论 -
MySQL binlog 远程备份方法详解
以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中。但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了。而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL服务器当前正在写的二进制日志文件进行备份。所以,只能等到MySQL服务器全部写完才能进行备份。而写完一个binlog的时间并不固定,这就导致备份周期的不确定。从MySQL5.6开始,mysqlbinlog支持将远程服务器上原创 2020-09-09 12:22:44 · 913 阅读 · 0 评论 -
mysql如何利用binlog进行数据恢复详解
前言最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了binlog2sql项目。MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个:数据回复主从数据库。用于slave端执行增删改,保持与master同步。binlog基本配置和格式binlog需要在mysql的配置文件的mysqld节点中原创 2020-09-09 12:20:40 · 1219 阅读 · 0 评论 -
MYSQL FIND_IN_SET函数
FIND_IN_SET(str,strList)str 要查询的字符串strList 字段名,参数以“,”分隔,如(1,2,6,8)查询字段(strList)中包含的结果,返回结果null或记录。假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在转载 2020-09-07 11:19:20 · 189 阅读 · 0 评论 -
SQL中EXISTS的用法
1.EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。EXISTS内部有一个子查询语句(SELECT … FROM…), 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。 EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。一种通俗的可以理解为:将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。分析器会先看语句的第一个词,当它发现第一个词是SELEC原创 2020-09-07 11:12:55 · 581 阅读 · 0 评论 -
ON DUPLICATE KEY UPDATE 用法与说明
ON DUPLICATE KEY UPDATE作用先声明一点,ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑(数据库迁移的时候有问题)语句的作用,当insert已经存在的记录时,执行Update用法什么意思?举个例子:user_admin_t表中有一条数据如下表中的主键为id,现要插入一条数据,id为‘1’,password为‘第一次插入的密码’,正常写法为:INSERT INTO user_admin_t (_id,password) VALUES ('1'转载 2020-09-07 10:02:01 · 276 阅读 · 0 评论 -
MySQL JOIN原理
https://www.cnblogs.com/shengdimaya/p/7123069.html转载 2020-09-03 10:15:55 · 126 阅读 · 0 评论 -
JSONArray转换成List<T>
常用的方法:1.首先有一个JSONArray对象,比如是jsonArrayJSONObject jsonObject1 = new JSONObject();JSONObject1.put("username","zhangsan");JSONObject jsonObject2 = new JSONObject();JSONObject2.put("username","lisi");JSONArray jsonArray = new JSONArray();jsonArray.add(j原创 2020-08-21 12:59:55 · 72027 阅读 · 2 评论 -
mysql的json类型
【注意】:JSON类型是MySQL5.7.8中新加入的一种数据类型一、相关函数1.创建jsonjson_array 创建json数组json_object 创建json对象json_quote 将json转为json字符串类型2. 查询jsonjson_contains 判断是否包含某个json值json_contains_path 判断某个路径是否包含json值json_extract 提取json值column->path json_extract 的简写,mysql原创 2020-08-13 12:16:55 · 573 阅读 · 0 评论 -
MySQL json类型操作
https://www.cnblogs.com/daijiabao/p/12256010.html转载 2020-08-11 16:39:34 · 123 阅读 · 0 评论 -
[数据库] Navicat for MySQL触发器更新和插入操作
1.代码DROP TRIGGER IF EXISTS `ins_info`;create trigger ins_infoafter insert on nhfxelect for each row begin if HOUR(new.RecordTime)='20' then insert into nhfxbyhour (UnitDepName, UnitDepCode, ElectCost, TimeJG, RecordTime) values( '数统学院', '1', new.原创 2020-08-07 11:12:20 · 314 阅读 · 0 评论 -
Mysql存储大数据字符串
使用TextMySQL提供四种TEXT类型:TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT。下面显示每个TEXT类型的大小,假设我们使用一个字符集,该字符集需要1个字节来存储字符。TINYTEXT - 1个字节(255个字符)TINYTEXT可以存储的最大字符是255(2 ^ 8 = 256,1字节开销)。需要少于255个字符的列应该使用TINYTEXT类型,长度不一致,不需要排序,例如:博文摘录,文章摘要等。请参阅以下示例:CREATE TABLE articles (原创 2020-07-27 12:27:04 · 3283 阅读 · 0 评论 -
MySQL容器化详细教程
https://www.cnblogs.com/kunjian/p/11819844.html转载 2020-07-09 12:19:32 · 245 阅读 · 0 评论 -
修改lower_case_table_names产生的问题
1、参数含义:lower_case_table_names: 此参数不可以动态修改,必须重启数据库lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的2、修改 参数lower_case_table_names 产生的问题mysql> show原创 2020-07-08 22:46:46 · 2468 阅读 · 0 评论 -
关于数据库与服务器时区的问题
https://blog.youkuaiyun.com/vae1314chuanchen/article/details/81838476?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonec转载 2020-07-08 22:39:55 · 435 阅读 · 0 评论 -
MySQL-9个时间函数
1、NOW获取当前日期和时间的函数。语法: NOW()例如:select NOW();2、CURDATE获取当前的日期语法:CURDATE()3、CURTIME()获取当前时间语法:CURTIME()4、DATE获取日期时间或者日期的日期部分语法:DATE(date)date 参数是合法的日期表达式。5、EXTRACT获取返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。语法:EXTRACT(unit FROM date)date 参数是合法的日期表达式。unit原创 2020-07-06 12:15:23 · 147 阅读 · 0 评论 -
mysqld 安装问题一:由于找不到MSVCR120.dll,无法继续执行代码.重新安装程序可能会解决此问题。
如下图:这种错误是由于未安装 vcredist 引起的下载 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784安装刚才下载的那个软件,位置默认即可,安装成功然后重新进行安装,成功解决这个问题!...原创 2020-06-30 10:59:56 · 4360 阅读 · 2 评论 -
[解决]mybatis-plus使用jdk8的LocalDateTime 查询时报错
https://blog.youkuaiyun.com/lkh1992/article/details/90024829?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase转载 2020-06-29 16:52:26 · 1750 阅读 · 0 评论 -
mysql触发器
mysql-udf-http 是一款简单的MySQL用户自定义函数,具有http_get()、http_post()、http_put()、http_delete()四个函数,可以在MySQL数据库中利用HTTP协议进行REST相关操作,它的安装方式如下:tar zxvf mysql-udf-http-1.0.tar.gzcd mysql-udf-http-1.0/./configure --prefix=/usr/local/mysql --with-mysql=/usr/local/mysql/b原创 2020-06-18 08:59:37 · 248 阅读 · 0 评论 -
数据库分区、分表、分库、分片
https://blog.youkuaiyun.com/qq_28289405/article/details/80576614转载 2020-06-05 16:58:00 · 136 阅读 · 0 评论 -
验证mysql的自动提交事务和手动提交事务(java版)
https://blog.youkuaiyun.com/qq_33824312/article/details/78346980?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase转载 2020-06-05 10:22:36 · 356 阅读 · 0 评论 -
对mysql中group和having和where的理解
having,where的理解group by的理解原创 2020-05-15 12:57:56 · 266 阅读 · 0 评论 -
mysql字符集(CHARACTER SET)和校对集(COLLATE)
字符集(CHARACTER SET)和校对集(COLLATE)字符集:可以设置 服务器默认字符集数据库默认字符集表默认字符集甚至到列默认字符集某个级别没有指定,那么继承上级。mysql4.1及其之后的版本,对字符集的支持分为四个层次:服务器(server),数据库(database),数据表(table)和连接(connection):character_set_server:这...原创 2020-03-27 15:58:23 · 1598 阅读 · 0 评论 -
mysql 字符串,日期转换
mysql字符串转日期mysql的sql_mode转载 2020-02-26 20:45:40 · 139 阅读 · 0 评论 -
关于Linux安装mysql默认配置文件位置
https://www.cnblogs.com/freeliver54/p/9171748.html转载 2020-02-26 20:31:29 · 511 阅读 · 1 评论 -
MySql 取一天的开始时间和结束时间
https://blog.youkuaiyun.com/iamlihongwei/article/details/53318677转载 2020-01-19 14:56:16 · 519 阅读 · 0 评论 -
mysql 5.6(zip)下载安装配置图文教程
参考地址:转载 2020-01-15 16:35:46 · 290 阅读 · 0 评论 -
mysql完全卸载教程(图文详细,适用于所有版本)
https://blog.youkuaiyun.com/qq_41140741/article/details/81489531转载 2020-01-14 16:17:16 · 750 阅读 · 0 评论 -
MySQL5.7下载安装详情教程(图文详细,基于msi和zip)
https://blog.youkuaiyun.com/qq_41307443/article/details/79839558转载 2020-01-14 11:36:02 · 452 阅读 · 0 评论 -
SpringBoot+MyBatis+MySQL读写分离(实例)
https://blog.youkuaiyun.com/Y0Q2T57s/article/details/89324364转载 2020-01-13 20:28:36 · 131 阅读 · 0 评论 -
sql优化大全
https://blog.youkuaiyun.com/hguisu/article/details/5731629https://blog.youkuaiyun.com/jie_liang/article/details/77340905原创 2019-12-13 11:01:13 · 149 阅读 · 0 评论 -
mysql中插入数据时Duplicate entry '' for key 'PRIMARY'的解决方案
该问题是插入数据表中遇到键重复,有三种解决方案。1.IGNOREINSERT IGNORE INTO Table_name(…..) VALUES(1,1),(2,2),(3,3);使用IGNORE,如果插入的记录中存在重复值会忽略重复值的该记录行,不影响其他行的插入。2.REPLACEREPLACE INTO Table_name() VALUES(1,1),(2,2),(3,3)...原创 2019-12-09 20:19:59 · 3517 阅读 · 0 评论 -
MySql---批量插入数据库脚本
1.建表create database bigData;use bigData; create table dept(`id` INT unsigned primary key NOT NULL AUTO_INCREMENT,`deptno` mediumint unsigned not NULL DEFAULT 0,`dname` varchar(20) not null def...原创 2019-12-08 15:05:53 · 813 阅读 · 0 评论