mysql
文盲青年
天苍苍,野茫茫,女扮男装耍流氓
展开
-
mysql的binlog三种配置模式
记录的是执行的 SQL 语句,而不是每行数据的具体变化。这种格式的日志文件通常比 row-based 格式小,但是在某些情况下,比如涉及到自动递增字段或者时间函数时,可能会导致复制时出现问题。MIXED:默认设置。如果一个语句不能以 row-based 格式安全地记录(例如,涉及到自动递增字段或者时间函数),MySQL 将自动使用 statement-based 格式。如果你更关心日志文件的大小,并且确信你的应用场景不会导致 statement-based 复制的问题,可选择STATEMENT。原创 2024-05-21 11:56:43 · 274 阅读 · 0 评论 -
mysql对char、varchar中的数字排序
直接oder by asc / desc,还是会错乱的。故可以加数字+0、+1等。原创 2024-04-19 18:49:10 · 129 阅读 · 0 评论 -
mysql查询表名、字段名长度是否超标
【代码】mysql查询表名、字段名长度是否超标。原创 2023-04-18 10:11:57 · 625 阅读 · 0 评论 -
mysql查询冗余索引
如果创建了索引(a,b),再创建索引(a)就是冗余索引,这会影响性能。然后再执行alter语句删掉即可。原创 2023-04-06 14:36:38 · 338 阅读 · 0 评论 -
mysql用户管理
mysql转载 2022-07-08 15:57:25 · 399 阅读 · 0 评论 -
mysql字符串截取之substring_index
substring_index(str,’.’,1) 结果是:www substring_index(str,'.',2) 结果是:www.wikidm 也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容 相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如: substring_index(str,'.',-2) 结果为:wikidm.cn 有人会问,如果我要中间的的wikidm怎么办? 很简单的,两个方向:转载 2021-12-03 10:27:04 · 194 阅读 · 0 评论 -
查询所有科目成绩都大于90分的学生姓名
查询所有课程成绩都大于90分的学生:CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stu_name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `course` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `score` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGIN原创 2021-12-01 19:28:24 · 11492 阅读 · 0 评论 -
MySQL多行结果合并成一行,GROUP_CONCAT
参考: MySQL多行结果合并成一行,GROUP_CONCAT很多时候,我们左连接查询后,又要支持多端的模糊搜索,需要做一下整合,仅用distinct不满足需求,于是需要用到group_concat测试数据表以product_id;分组,把name字段的值打印在一行,逗号分隔(默认)SELECT id,GROUP_CONCAT(name) FROM test_brand GROUP BY product_id;以id分组,把name字段的值打印在一行,分号分隔SELECT id,GROUP_转载 2021-11-17 11:38:49 · 1120 阅读 · 0 评论 -
一次mysql删库经历
我们的系统中有数据导入的功能,可以把特定的格式的excel数据导入到系统中来由于客户电脑的文件比较多,很多文件的名字也比较相近,客户在导入excel时选错了文件这个错误的excel文件的格式恰好能被系统解析,客户也没及时发现导错了文件,所以就将6万多条没用的数据导入到了系统中这6万多条数据对系统来说就是无用的数据,不会影响系统的运行,最多也就是占用一点数据库空间而已客户只需要把正确的excel重新导入,就可以继续完成他的业务了但是,客户是一个重度强迫症患者,他觉得在管理平台看到这6万多条没用的数据转载 2021-09-23 12:53:39 · 311 阅读 · 0 评论 -
mysql连接更新-根据连表查询INNER JOIN结果更新
user表:CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主键ID', `username` varchar(80) NOT NULL COMMENT '登录名', `password` varchar(128) NOT NULL COMMENT '密码', `user_position` varchar(80) NOT NULL DEFAULT '' COMMENT '职位', `role_id` bigint(20)原创 2021-09-02 10:49:48 · 463 阅读 · 0 评论 -
mysql left join 后边的on条件
结论:left join 为保证左表所有行 因此 on里的条件只对右表起作用,控制左表的条件写到这里也没用原理:on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。https://www.cnblogs.com/nxzblogs/p/13447652.htmlhttps://www.cnblogs.com/can转载 2021-08-31 17:09:20 · 1708 阅读 · 0 评论 -
mysql使用orderby field
MySQL中的排序ORDER BY 除了可以用ASC和DESC,还可以自定义字符串/数字来实现排序。示例1:... order by field(value,str1,str2,str3,str4,,,strn)select * from score order by field(level,'A','B','C','D');示例2:SELECT * FROM table ORDER BY FIELD(status,1,2,0);这样子写的话,返回的结果集是按照字段status的1、2、0原创 2021-04-12 11:03:39 · 1201 阅读 · 0 评论 -
数据库连接池到底应该设多大
https://mp.weixin.qq.com/s/E4MaT8qDreh85gBwaRD74g转载 2021-04-08 17:11:17 · 221 阅读 · 0 评论 -
Mysql缓存池
https://mp.weixin.qq.com/s/3CR8EUXaHRmUbi055Siiqg转载 2021-04-08 17:05:43 · 88 阅读 · 0 评论 -
union all的使用
https://www.cnblogs.com/iloverain/p/8794755.html注意事项当使用union all整合数据的时候,需要保证前后子查询的数据字段是一一对应的,union all不会根据字段名来进行整合,而是根据子查询的顺序来整合的SELECT NAME , forrr FROM table1;SELECT NAME , forrr FROM table2; SELECT * FROM ( SELECT name,forrr FROM ta转载 2021-02-23 18:25:33 · 4806 阅读 · 0 评论 -
mysql日期格式化函数格式说明
SELECT DATE_FORMAT( time, '%Y-%M' ) AS format_time from t_order,%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,数值(0-31)%f微秒%H小时 (00-23)%h小时 (01-12)%I小时 (01-12)%i分钟,数值(00-59)%j年的天 (001-366)%k小时原创 2020-12-21 11:02:03 · 167 阅读 · 0 评论 -
mysql的事务隔离级别mvvc多版本并发控制
事务的四大特性(ACID)原子性(atomicity): 事务的最小工作单元,要么全成功,要么全失败。一致性(consistency): 事务开始和结束后,数据库的完整性不会被破坏。隔离性(isolation): 不同事务之间互不影响,四种隔离级别为RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。持久性(durability): 事务提交后,对数据的修改是永久性的,即使系统故障也不会丢失。事务的隔离级别读未提交(Read UnCommitted/R转载 2020-10-13 09:52:52 · 449 阅读 · 0 评论 -
mysql条件查询and or使用实例及优先级介绍
https://www.cnblogs.com/ryanzheng/p/7894688.html转载 2020-09-15 15:07:35 · 178 阅读 · 0 评论 -
mysql主从复制
复制原理复制实战转载 2020-09-07 17:31:59 · 101 阅读 · 0 评论 -
mysql中varchar类型的id,where id=1,会用到索引吗?int 类型的id,where id=”1“,会用到索引吗?为什么?
对于int类型id,查询的varchar 类型 ‘1’会隐式转换成 1,‘1’和 1都能正常走索引;对于varchar类型id,查询的int 类型 1不会转换,‘1’正常走索引,1走全表;原创 2020-08-06 10:06:34 · 1439 阅读 · 0 评论 -
请问怎么找到删掉的数据的编号?
假设一个订单的编号规则是AAAAOrder2020-0000001,AAAAOrder2020-0000002…后面的数字是自增长,如果订单号码达到AAAAOrder2020-1000000(100万),数据库中应该有100万条数据,此时我随机删除2条数据(物理删除,且不考虑日志和备份),请问怎么找到删掉的数据的编号?给出解题思路即可,答案需要在1秒内运行得到。参考答案:分批查询:分成500次count(),每次count()肯定小于等于2000条数据,经过测试,一次count(*)在.1ms左右,5转载 2020-07-28 14:12:48 · 177 阅读 · 0 评论 -
SQL 查找是否“存在“,别再 count 了,很耗费时间的!
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count目前多数人的写法多次REVIEW代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下SQL写法:SELECT count(*) FROM table WHERE a = 1 AND b = 2Java写法:int n转载 2020-07-27 17:23:56 · 147 阅读 · 0 评论 -
MySQL——执行计划
项目开发中,性能是我们比较关注的问题,特别是数据库的性能;作为一个开发,经常和SQL语句打交道,想要写出合格的SQL语句,我们需要了解SQL语句在数据库中是如何扫描表、如何使用索引的;MySQL提供explain/desc命令输出执行计划,我们通过执行计划优化SQL语句。下面我们以MySQL5.7为例了解一下执行计划:注:文中涉及到的表结构、sql语句只是为了理解explain/desc执行计划,有不合理之处勿喷explain/desc 用法只需要在我们的查询语句前加 explain/desc即可转载 2020-06-08 17:14:45 · 218 阅读 · 0 评论 -
seata分布式事务的原理
seata分布式事务的原理?参考答案:Seata 内部定义了 3个模块来处理全局事务和分支事务的关系和处理过程,这三个组件分别是:•Transaction Coordinator (TC):事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。•Transaction Manager ™:控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。•Resource Manager (RM):控制分支事务,负责分支注册、状态汇报,并接收事务协调器的指令,驱动分支原创 2020-05-27 14:04:55 · 535 阅读 · 0 评论 -
MySQL之char、varchar和text的设计
https://www.cnblogs.com/billyxp/p/3548540.html转载 2020-05-25 15:49:00 · 127 阅读 · 0 评论 -
mysql 8小时空闲后连接失效的解决
https://www.cnblogs.com/leov/p/4671398.html转载 2020-05-13 11:26:29 · 163 阅读 · 0 评论 -
SQL 子查询 EXISTS 和 NOT EXISTS
https://www.cnblogs.com/fps2tao/p/9040777.html转载 2020-02-28 15:05:51 · 188 阅读 · 0 评论 -
mysql中null不能用于数值比较,道理都懂,但你真的注意了吗
https://blog.csdn.net/weixin_39004901/article/details/89016619转载 2019-12-18 14:48:54 · 1858 阅读 · 0 评论 -
分库分表的目的会带来的问题及解决思路
分库分表:提升数据库访问速度缓解数据压力容量跨库的关联查询:(1)冗余(2)数据同步 http、etl(3)全局表(广播表)、字典表、原创 2019-12-13 20:50:23 · 752 阅读 · 0 评论 -
几款开源的ETL工具及ELT初探
https://blog.csdn.net/juceli/article/details/81448224转载 2019-12-13 20:46:50 · 484 阅读 · 0 评论 -
数据库分区、分表、分库、分片
https://blog.csdn.net/qq_28289405/article/details/80576614转载 2019-12-13 20:40:12 · 113 阅读 · 0 评论 -
Mysql 连接数,最大并发数设置
https://www.cnblogs.com/phpper/p/9570792.html转载 2019-12-13 20:28:32 · 195 阅读 · 0 评论 -
mysql设置隔离级别
https://www.cnblogs.com/sea-stream/p/11297969.html转载 2019-12-05 11:49:59 · 135 阅读 · 0 评论 -
mysql实现分布式锁
底层基于乐观锁的mysql分布式锁,来自java路人甲的笔记,其实现了可重入功能create table mysql_lock( id bigint(20) NOT NULL COMMENT 'ID' auto_increment, lock_key varchar(32) NOT NULL COMMENT '锁标识', request_id va...转载 2019-12-04 15:39:35 · 356 阅读 · 0 评论 -
mac下mysql修改端口
https://www.cnblogs.com/ratooner/p/4136480.html转载 2019-11-13 10:14:00 · 838 阅读 · 0 评论 -
docker解决mysql乱码
一、进入容器docker exec -ti xxx(容器id) /bin/bash二、进入mysqlmysql -u root -p再输入密码3、编辑mysql-server配置文件vim /etc/mysql/mysql.conf.d/mysql.cnf加入:[mysql]default-character-set = utf8[mysql.server]defau...原创 2019-11-07 23:02:23 · 385 阅读 · 0 评论 -
mysql的tinyint范围
create table test( id bigint(20) not null, user_type tinyint(4) not null;)以上建表方式:user_type值为[-128,127]中的整数create table test( id bigint(20) not null, user_type tinyint(4) unsigned not null;)...原创 2019-11-07 12:02:32 · 2772 阅读 · 2 评论 -
docker推荐启动mysql与nginx的命令
docker run \ -p 12000:80 \ -v ~/nginx/www:/usr/share/nginx/html \ -v ~/nginx/conf/:/etc/nginx/ \ -v ~/nginx/logs:/var/log/nginx \ -v /etc/localtime:/etc/localtime:ro \ --name xhban-nginx \ -d nginx这里需要注意,一定要先将/etc/nginx/中...原创 2019-11-06 22:39:17 · 388 阅读 · 0 评论 -
docker安装mysql
https://www.cnblogs.com/badtree/articles/10130695.html转载 2019-11-06 22:22:21 · 76 阅读 · 0 评论 -
定时任务中分页查询可能存在的数据问题及解决方案
数据查询分页在数据查询时,由于未能对未来数据量做出正确的预估,很多情况下都没有考虑数据的分页查询。1.1.普通查询案例以下是查询过期订单的代码:/** 订单DAO接口 */public interface OrderDAO { /** 查询过期订单函数 */ @Select("select * from t_order where status = 5 and gmt_c...转载 2019-11-06 13:22:30 · 1556 阅读 · 0 评论