MYSQL
文章平均质量分 55
# MYSQL
慕白Lee
业精于勤荒于嬉,行成于思毁于随。 学业由于勤奋而专精,由于玩乐而荒废;德行由于独立思考而有所成就,由于因循随俗而败坏。 ——出自(唐)韩愈《进学解》
展开
-
【互联网之常见】-大表新增字段有哪些方法
选择哪种方法取决于多个因素,包括数据库类型、系统负载、业务需求以及维护窗口。在进行此类操作时,强烈建议在测试环境中先进行测试,评估操作对性能的影响,并确保有完整的数据备份和回滚计划。此外,最好在业务低峰时段进行此类操作,以减少对业务的影响。当你需要在MySQL大表上添加字段时,以下是一些最佳实践:1. **评估影响**:在生产环境中执行之前,应该在测试环境中模拟操作,评估其对性能的影响和所需时间。2. **备份数据**:在进行结构变更之前,确保有完整的数据备份,以便在操作失败时能够恢复数据。原创 2019-10-10 18:16:02 · 2569 阅读 · 0 评论 -
MySQL创建唯一索引时报错Duplicate entry * for key
仔细看报错信息,根据那串ID数字,发现是表中出现违反创建的唯一索引键规则的重复数据,将此数据删除后创建唯一索引成功。确认table中并不存在重名的唯一索引键名称。创建唯一索引时失败 ,提示如图。原创 2022-10-16 23:48:26 · 20119 阅读 · 0 评论 -
Mysql基础知识概念梳理
(Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统。原创 2019-08-28 09:34:03 · 322 阅读 · 0 评论 -
Mysql8.0下载安装与配置保姆级教程 (MacOS版本)
Mysql8.0下载安装与配置保姆级教程 (MacOS版本)原创 2022-09-03 18:55:40 · 20552 阅读 · 0 评论 -
Mysql8.0下载安装与配置(Windows)
目录一、官网下载二、安装1、选择"Server only",一直下一步2、starting the server失败编辑3、计算机-右键管理-服务-改为本地系统账户4、继 续安装,成功三、配置https://dev.mysql.com/downloads/mysql/原创 2022-09-03 00:16:22 · 19432 阅读 · 0 评论 -
一文读懂<explain>索引优化
对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢查询,意味着接口响应慢、接口超时等问题。如果是高并发的场景,可能会出现数据库连接被占满的情况,直接导致服务不可用。慢查询的确会导致很多问题,我们要如何优化慢查询呢?主要解决办法有:监控sql执行情况,发邮件、短信报警,便于快速识别慢查询sql打开数据库慢查询日志功能简化业务逻辑代码重构、优化异步处理sql优化索引优化其他的办法先不说,后面有机会再单独介绍。...原创 2019-12-31 11:26:06 · 56077 阅读 · 1 评论 -
设计索引的8个小技巧(VIP典藏版)
举个例子来说,假设有两个这样的字段,一个是varchar(5),一个是varchar(200),这种情况下优先选择为varchar(5)的字段建立索引,因为MySQL在维护索引的时候是会将字段值一起维护的,那这样必然会导致索引占用更多的空间,另外在排序的时候需要花费更多的时间去对比。,也就是说每个数据页中的数据一定是按照主键从小到排序的,而且,数据与数据之前是通过单向链表连接的,上一个数据页中的最大的主键的值一定是小于下一个数据页中的最小的主键的值,数据页和数据页之间是通过双向链表来维护的。...原创 2020-02-11 19:40:55 · 139219 阅读 · 1 评论 -
Navicat存储过程批量生成测试数据
创建表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;DROP TABLEIF EXISTS `city`;CREATE TABLE `city` (`id` BIGINT ( 20 ) NOT NULL AUTO_INCREMENT,`name` VARCHAR ( 255 ) DEFAULT NULL,`state` VARCHAR ( 255 ) DEFAULT NULL,PRIMARY KEY ( `id` ) ) ENGIN.原创 2021-09-02 15:55:27 · 1271 阅读 · 0 评论 -
sql查询重复数据
数据库出现不合法数据,找出重复的SELECT * FROM sys_user WHERE phone IN ( SELECT phone FROM `sys_user` GROUP BY phone HAVING count( * ) > 1 ) ORDER BY phone原创 2021-08-18 19:42:43 · 283 阅读 · 0 评论 -
waiting for changelog lock.
一般情况下是数据库liquibase被锁,可以按照以下方式解决数据库执行:SELECT * FROM DATABASECHANGELOGLOCK查出的数据中数据的locked的值是1,说明database被锁了,删除该条数据,或者更新该条数据:LOCKED=0,LOCKGRANTED=null,LOCKEDBY=null重启项目正常了...有用请点赞,养成良好习惯!疑问交流鼓励请留言!...原创 2021-07-19 17:03:42 · 5725 阅读 · 0 评论 -
【Mybatis】java.sql.SQLException: Subquery returns more than 1 row
在重复写入时会出现这种问题, 可通过去掉重复数据解决。通过在写入时加逻辑判断或者外键防止数据重复写入。原创 2021-01-12 19:08:55 · 3537 阅读 · 1 评论 -
Mysql--Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY
同样的代码连接不同的数据库出现的错误一、问题原因: 由于MySQL启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下二、查看mysql是否启用ONLY_FULL_GROUP_BYselect @@global.sql_mode三、查看数据库版本show variables like '%version%';四、关闭查看查询结果–如果有—ONLY_FULL_GROUP_BY,则说明mysql开启了ONLY_FULL_GROUP_BY模式,我们现在就需.原创 2020-11-12 19:49:09 · 2592 阅读 · 4 评论 -
查看mysql版本的命令语句
1.登录的时候可以看到数据库版本信息mysql -uroot -p2.状态命令查看mysql> status;3.选择版本函数查看mysql> select version();4.全局变量中查看mysql> show variables like '%version%';原创 2020-11-12 19:43:50 · 2487 阅读 · 0 评论 -
This version of MySQL doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘
一、背景:Mysql5.7.22> 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'这个版本的mysql不支持子查询中使用limit二、简单举例select id from table where id in ( select t.userId from user limit 10)三、解决方案再加一层子循环select id from t.原创 2020-11-12 19:17:23 · 1525 阅读 · 0 评论 -
sql 左连接数据出现重复
所以查询数据会出现重复,所以要保证右表所关联唯一。原创 2020-10-26 20:33:35 · 8125 阅读 · 0 评论 -
【MySql】保留两位小数(VIP典藏版)
一、FORMAT二、ROUND三、TRUNCATE四、类型转换函数CONVERT一、FORMATformat()函数会对小数部分进行四舍五入操作,整数部分从右向左每3位一个逗号进行格式化输出。如果查出的数据需要运算不太合适用format(x,d)。SELECT FORMAT( 12345678.90, 2 ), FORMAT( 123.456, 2 ), FORMAT( 123, 2 ), FORMAT( 0.1, 2 ), FORMAT( 0.001, .............原创 2020-10-26 13:27:14 · 202221 阅读 · 0 评论 -
查看-添加表索引
一、查看表索引show index from sys_user二、添加表索引ALTER TABLE `sys_user` ADD UNIQUE test(`salt`,`password`,`phone`) COMMENT '这是唯一索引'三、其他sql修改原有字段名称及类型: ALTER TABLE bulletin CHANGE uid username VARCHAR(50) NOT NULL DEFAULT '';添加新字段:alter table ...原创 2020-10-14 18:30:19 · 455 阅读 · 0 评论 -
创建视图脚本
CREATE VIEW business_data_view AS 视图脚本SQL中视图与查询的区别为:功能不同、归属不同、数据来源不同。一、功能不同1、视图:视图可以更新字段内容并返回原表。2、查询:查询文件中的记录数据不能修改。二、归属不同1、视图:视图不是一个独立的文件,它保存在数据库中。2、查询:查询是一个独立的文件,不属于数据库。三、数据来源不同1、视图:视图的数据来源可以是本地数据源,也可以是远程数据源。2、查询:查询的数据来源只有本地数据源,不..原创 2020-10-12 15:49:28 · 1012 阅读 · 0 评论 -
【MySQL】-IFNULL处理N/A
在实际使用中,直接在数据库层面进行ID的生成可能会有并发问题,特别是在高并发的环境下。为了确保ID的唯一性和顺序,可能需要采用其他机制,比如应用层的锁或者使用数据库的序列(在MySQL 8.0+中为AUTO_INCREMENT属性)。每当需要添加新的记录时,就要生成一个新的ID,该ID比当天已有的最大ID大1。改进后的SQL语句使用MAX函数来找出当天最大的ID,然后通过IFNULL处理当天没有任何ID的情况。原始的SQL语句试图获取当天最大的ID,然后将其加1以生成新的ID。原创 2020-09-07 16:33:09 · 8741 阅读 · 1 评论 -
linux登陆操作mysql
目录一、mysql服务的启动和停止二、登录mysql三、查询数据库信息四、创建和删除数据库五、查看数据库存储引擎、使用数据库、查看当前使用的数据库六、显示库中的数据表七、查看数据表的结构一、mysql服务的启动和停止net stop mysql --启动net start mysql --停止二、登录mysql简单登陆mysql -uroot -p;123123;mysql -h localhost -u root -P 3306 -p..原创 2020-08-20 23:18:22 · 47315 阅读 · 0 评论 -
MySQL DATE_FORMAT函数
转载:https://www.yiibai.com/mysql/date_format.html目录一、常用对比二、MySQL DATE_FORMAT函数简介三、说明符及其含义四、常用的日期格式字符串一、常用对比将数据库日期格式转化为string(yyyy-MM-dd HH:mm:ss 格式):SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')将数据库日期格式转化为string(yy-MM-dd hh:mm:ss 格式):S.原创 2020-08-18 15:33:55 · 23256 阅读 · 0 评论 -
Mysql常用SQL总结(VIP典藏版)
规范以;结尾关键字之间需要空格隔开(可多个)语句中可以有一个或多个换行关键字不去区分大小写。原创 2020-08-09 13:38:46 · 6209 阅读 · 1 评论 -
MySQL中字符串、数字、日期类型详解
一、字符串类型Char(N) [ binary] N=1~255 个字节 binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar(N) [binary] N=1~255 个字节 binary :分辨大小写 可变长度 std_address varchar(256) TinyBlob 最大长度255个字节(2^8-1) Blob (Binary large objects)储存二原创 2020-08-09 18:54:23 · 308 阅读 · 0 评论 -
字段为null添加执行另外一个条件
目录一、case when二、UNION ALL场景:两种情况录入数据,一种有xxId有数据一种没有,然后列表关联查询时xxId没数据的就查不出了一、case when貌似不太好使,放弃了,欢迎大佬们提供成功案例!二、UNION ALL改造前:select * from bb b left pp p where d.pid=p.id and b.del_flag = 0 and p.del_falg = 0 改造后:select * from bb b l.原创 2020-07-15 18:31:19 · 466 阅读 · 0 评论 -
not in使用报错
select * from pp p where p.id not in (select pid from qq q)两表单独查询没错,一起查询报错,后来发现是后面的子查询结果不能为nullselect * from pp p where p.id not in (select pid from qq q where q.pid is not null )...原创 2020-07-12 15:16:20 · 513 阅读 · 0 评论 -
MySql查询当天、本周、本月、本季度、本年的数据
一、创建测试数据...二、SQL查询及示例1.今天SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW());SELECT * FROM demo s WHERE TO_DAYS(s.create_time) = TO_DAYS(NOW());2.昨天SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1;SELECT * FROM demo WH.原创 2020-07-12 15:08:01 · 405 阅读 · 0 评论 -
SQL训练之学生表
SQL训练之学生表原创 2019-08-27 10:04:41 · 696 阅读 · 0 评论 -
SQL基本命令
数据库SQL超实用10篇博客大神之路:https://blog.csdn.net/libusi001/article/details/100066069~~~~~~~~~~~~~~~~~~~~~~~~~~SQL基本命令原创 2019-08-27 10:02:37 · 429 阅读 · 0 评论 -
SQL中计算百分比
SQL基本命令原创 2019-08-28 10:28:37 · 2220 阅读 · 0 评论 -
数据库基本操作
数据库SQL超实用10篇博客大神之路:https://blog.csdn.net/libusi001/article/details/100066069~~~~~~~~~~~~~~~~~~~~~~~~~~建库建表。。。原创 2019-08-27 09:53:06 · 451 阅读 · 0 评论 -
SQL超实用查询汇总
数据库SQL超实用10篇博客大神之路:https://blog.csdn.net/libusi001/article/details/100066069~~~~~~~~~~~~~~~~~~~~~~~~~~左连接右连接左外连接右外连接:子查询:原创 2019-08-27 09:52:05 · 374 阅读 · 0 评论 -
SQL开发日常案例50例
数据库SQL超实用10篇博客大神之路:https://blog.csdn.net/libusi001/article/details/100066069~~~~~~~~~~~~~~~~~~~~~~~~~~SQL字符串操作:SQL时间处理:SQL分页:SQL之case when then用法SQL数据去重:SQL行转列:...原创 2019-08-27 09:49:55 · 2089 阅读 · 0 评论 -
数据库SQL超实用10篇博客大神之路
一、基础数据库基本操作:https://blog.csdn.net/libusi001/article/details/100090972SQL基本命令:https://blog.csdn.net/libusi001/article/details/100092126SQL超实用查询汇总:https://blog.csdn.net/libusi001/article/details/1...原创 2019-08-25 18:34:45 · 1435 阅读 · 0 评论 -
Mysql数据库各种情况下密码修改!
一、Windows系统1、知道密码情况下(1)Win+R进入DOS窗口(2)输入mysql -uroot -p你的密码PS:(1)默认密码为root。(2)-u与root,-p与密码之间没有空格。(3)修改密码时提示Unknown column 'password' in 'field list'因为新版本mysql采用authenticatio...原创 2020-01-16 10:28:31 · 497 阅读 · 0 评论 -
数据库概念与分类
一、官网下载最新Mysql压缩包原创 2019-08-26 22:29:35 · 322 阅读 · 0 评论 -
count(*)、count(1)、count(id)、count(字段)的区别与性能分析
目录一、查询规则二、结论三、百万条数据SQL测试四、使用explain观察及原因分析一、查询规则count(*):获取表的条数count(某一字段):获取某一字段值不为null的数据条数,就是说当某一条或者多条记录的那个字段为null的时候,这时并不会算进总条数中。count(1):所有行进行统计,包括NULL行count(id):count(*)查询的是总条数...原创 2019-08-11 20:17:59 · 3215 阅读 · 5 评论 -
Linux安装GaussDB数据库图文
目录一、说明二、环境搭建三、下载链接四、官方安装文档目录(详情见上方链接)一、说明第一种版本适合大部分企业和开发人员,X86服务器+CentOS7/Red Hat 第二种版本适合大部分国产化的企业,鲲鹏服务器+麒麟操作系统/CentOS7系统 下面采用最常见的第一种进行示范:二、环境搭建Vmware14安装与多种系统图文:https://blog.csdn.net.........原创 2019-08-23 14:20:00 · 21090 阅读 · 3 评论 -
MYSQL主从复制、主主复制、双主多从配置
MYSQL主从复制、主主复制、双主多从配置原创 2019-10-14 17:25:47 · 282 阅读 · 0 评论 -
华为GaussDB数据库
目录一、GaussDB: 全球首款AI-Native数据库二、FusionStorage 8.0:业界性能第一的分布式存储三、下载安装包四、安装步骤五、华为GaussDB数据库知识扩展一、GaussDB: 全球首款AI-Native数据库作为全球首款AI-Native数据库,GaussDB有两大革命性突破:首次将人工智能技术融入分布式数据库的全生命周期,实现自运维、......原创 2019-08-14 15:25:20 · 51153 阅读 · 12 评论 -
sql查询字段替换值case when then
case具有两种格式。简单case函数和case搜索函数。一、简单case函数CASE sex WHEN '1' THEN'男' WHEN '2' THEN'女’ else '其他' end二、case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END这两种...原创 2019-08-11 20:18:59 · 3153 阅读 · 0 评论