mysql
wit_cx
这个作者很懒,什么都没留下…
展开
-
mysql相关转载
mysql 死锁查询mysql : show processlist 详解 - _小豪豪 - 博客园转载 2021-09-26 06:31:00 · 84 阅读 · 0 评论 -
mysql 按日期分组统计数据
SELECT DATE_FORMAT(create_time,'%Y-%m-%d'),COUNT(message_num) AS messageNum FROM shop_message WHERE STATUS = 1 AND object_type = 0 AND shop_id = 2510 AND DATE_FORMAT(create_time,'%Y-%m-%d')>= DATE_FORMAT('2021-05-04','%Y-%m-%d') AN...原创 2021-05-26 18:33:38 · 178 阅读 · 0 评论 -
mysql将一个表数据导入另一个表
INSERT INTO primus_pms.brand (id, `name`,pic) SELECT brand_id ,`name`,icon FROM primus_merchant.shop_brand GROUP BY brand_id,icon,`name`原创 2020-12-23 21:07:49 · 122 阅读 · 0 评论 -
Mysql中的FOREIGN_KEY_CHECKS方法
一、描述: Mysql中的FOREIGN_KEY_CHECKS是用来启动和关闭外键约束的方法。二、错误: 在MySQL中删除一张表或一条数据的时候,提示以下错误:[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...)三、原因: 这是因为MySQL中设置了foreign key关联,造成无法更新或删除数据。四、解决方法: 可以通过设置FOREIGN_K转载 2020-12-09 10:44:43 · 17767 阅读 · 0 评论 -
mysql 中查看表、字段的编码格式
1、查看所有字段的编码格式:mysql>show full columns from tableName;2、查看表的编码格式:mysql>show create table tableName;3、修改数据库的编码格式:mysql>alter database databasename character set utf84、修改表的编码格式mysql>alter table tablename character set utf85、修改字段的编码转载 2020-11-29 16:26:31 · 4981 阅读 · 0 评论 -
mysql在表的某一位置增加一列、删除一列、修改列名
如果想在一个已经建好的表中添加一列,可以用以下代码:alter table 表名 add column 列名 varchar(20) not null;这条语句会向已有的表中加入一列,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:alter table 表名 add column 列名 varchar(20) not null after user1;注意,上面这个命令的意思是说添加addr列到user1这一列后面。如果想添加到第一列的话,可以用:alter tabl.转载 2020-11-03 18:02:48 · 740 阅读 · 0 评论 -
MySql中增加一列
如果想在一个已经建好的表中添加一列,可以用诸如:alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;这条语句会向已有的表中加入新的一列,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:alter table TABLE_NAMEadd column NEW_COLUMN_NAMEvarchar(20) not null after COLUMN_NAME;注意,上面这个命令的意思是说..转载 2020-11-03 18:01:59 · 9807 阅读 · 1 评论 -
MySQL使用一张表的一列更新另一张表的一列
使用MySQL中,在一张表etl_table_field_info上新增了一个字段tgt_table_en_name,该字段的值想从表etl_table_property_info的tgt_table_en_name获取。更新时的关联关系是字段src_table_en_name值相等。SQL如下: 1 2 3 UPDATEetl_table_field_info f, etl_table_property_info p setf.tgt_tab..转载 2020-11-03 17:51:10 · 1551 阅读 · 0 评论 -
MySQL:SELECT COUNT 小结
select count(1) 、 select count(*),和具体的select count(字段)的不同写法,这几种写法究竟孰优孰劣呢讨论归纳先来看看MySQL官方对SELECT COUNT的定义:传送门:https://dev.mysql.com/doc/refman/5.6/en/aggregate-functions.html#function_count大概可以分下面这几个步骤讨论。COUNT(expr)的分析COUNT(expr)函数返回的值是由SELECT.转载 2020-11-01 10:10:24 · 575 阅读 · 1 评论 -
MySQL中ORDER BY与LIMIT一起使用(有坑)
1. 现象与问题ORDER BY排序后,用LIMIT取前几条,发现返回的结果集的顺序与预期的不一样下面是我遇到的问题:可以看到,带LIMIT与不带LIMIT的结果与我预期的不一样,而且“很不可思议”,真是百思不得其解后来百度了一下,如果order by的列有相同的值时,mysql会随机选取这些行,为了保证每次都返回的顺序一致可以额外增加一个排序字段(比如:id),用两个字段来尽可能减少重复的概率于是,改成 order by status, id;问题虽然是解决了.转载 2020-10-21 23:50:13 · 18774 阅读 · 1 评论 -
navicat常用快捷键与SQL基本使用
一、Navicat常用快捷键1,Ctrl+q就会弹出一个sql输入窗口2,Ctrl+r就执行sql了3,按f6会弹出一个命令窗口4,Ctrl+/ 注释5,Ctrl +Shift+/ 解除注释6,Ctrl+R 运行选中的SQL语句7,Ctrl+Shift+R 只运行选中的sql语句8,Ctrl+L 删除选中行内容9,Ctrl+D 表的数据显示显示页面切换到表的结构设计页面,但是在查询页面写sql时是复制当前行并粘贴到下一行10,Ctrl+N 打开一个新的查询窗口11...转载 2020-09-24 15:42:08 · 3621 阅读 · 1 评论 -
MySQL数据量大时,delete操作无法命中索引?
MySQL数据量大时,delete操作无法命中索引;并且还附上了相关案例截图。最终,楼主通过开启MySQL分析优化器追踪,定位到是优化器搞的鬼,它觉得花费时间太长。因为我这个是测试数据,究其原因是因为数据倾斜,导致计算出的数据占比较大、花费时间长。大家要记住一点,一条SQL语句走哪条索引是通过其中的优化器和代价分析两个部分来决定的。所以,随着数据的不断变化,最优解也要跟着变化。因此,就需要DBA来不断的优化SQL。对于查询情况,其实MySQL提供给我们一个功能来引导优化器更好的优转载 2020-09-15 17:03:56 · 476 阅读 · 0 评论 -
mysql和oracle数据库引擎介绍
MySQL: 数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL+API自己做一个引擎。下面介绍几种数据库引擎:ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读...转载 2020-09-04 21:45:57 · 958 阅读 · 0 评论 -
MySQL和Oracle的主要区别
最近开始换工作,面试了两家公司的时候被问到关于MySQL和Oracle的区别有哪些?因为我主要学习的是Oracle对于MySQL很多都是看的网上的资料很少有做实验,所以当时回答的不是很好。现在使用MySQL的公司比较多,所以后来我还是在网上整理了一些资料,谈谈自己的看法 希望大家多多指教。关于MySQL和Oracle的主要区别:大家比较容易想到的就是MySQL是开源的项目,开源=免费所以一些中小企业考虑数据库的时候MySQL肯定是首选。Oracle是Oracle公司推出的一款成熟的数据库产品是闭源.转载 2020-09-04 21:45:14 · 76 阅读 · 0 评论 -
Mysql中count()语法的使用
count()四种写法:count(*) 包括所有列,相当于统计表的行数,不忽略列值为NULL的记录。 count(1) 忽略所有列,1表示一个固定值,也可以用count(2)、count(3)代替,不忽略列值为NULL的记录。 count(列名) 只包括指定列,返回指定列的记录数,会忽略列值为NULL的记录。 count(distinct 列名) 只包括列名指定列,返回指定列的不同值的记录数,忽略列值为NULL的记录执行效率比较若列为主键,count(列名)效率优于count(1) 若列不为转载 2020-09-04 16:55:47 · 720 阅读 · 0 评论 -
MySQL中count函数使用方法详解
count函数是用来统计表中或数组中记录的一个函数,下面我来介绍在MySQL中count函数用法与性能比较吧。count(*) 它返回检索行的数目, 不论其是否包含 NULL值。SELECT 从一个表中检索,而不检索其它的列,并且没有 WHERE子句时, COUNT(*)被优化到最快的返回速度。例如:SELECT COUNT(*) FROM student;COUNT(DISTINCT 字段),返回不同的非NULL值数目;若找不到匹配的项,则COUNT(DISTINCT)返回 0 。这个优化转载 2020-09-04 16:51:34 · 528 阅读 · 0 评论 -
MySQL命令窗口出现中文乱码的解决方法
查询表语句的时候,出现了中文乱码,但是用Navicat for MySQL查看的时候却是正常的,字符集都是设置的utf-8,如下图所示: 其实上大学学习java的时候也遇到了中文乱码但是却没有去研究,现在不能放任不管了,经过多方查询终于知道了解决方法可以看到,现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码改成gb2312才能够正常显示中文。使用如下的命令设置输出窗...转载 2020-09-04 09:37:32 · 278 阅读 · 0 评论 -
关于MySQL中的8个 character_set 变量说明
本篇会简单介绍在 MySQL 中关于 8个 character_set 变量的基本作用。 使用下列SQL语句可以查看 MySQL中8个 character_set 变量SHOW VARIABLES LIKE '%char%';18个 character_set 变量: 一、character_set_client 二、character_set_connection 三、character_set_database 四、character_se..转载 2020-09-04 09:07:10 · 229 阅读 · 0 评论 -
Mysql创建索引
1.索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~1000的数值,查找对应值相等行的查询如下所示。SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3此查询结果应该为1000行,每行包含3个.转载 2020-09-04 00:16:09 · 1238 阅读 · 0 评论 -
mysql查询所有索引,删除所有索引,重建所有索引
直接po截图和代码#----------------#查询一张表中的所有索引SHOW INDEX FROM book;SHOW KEYS FROM book;SHOW CREATE TABLE book;#----------------#删除一张表中的所有索引/*删除一张表中的所有索引参考网页https://zhidao.baidu.com/question/165099713.html参考网页https://blog.csdn.net/zj7321/artic...转载 2020-09-04 00:01:30 · 648 阅读 · 0 评论 -
Mysql锁表问题解决过程
开发中难免会遇到数据库操作锁表问题,这里说下解决过程,算是记录了。 1 2 3 show OPEN TABLES where In_use > 0; 查看哪些表被锁了 show processlist 查看进程,找到对应表的id kill id 最后重启服务就可以了,我这里是centos7 1 service mysqld restart ...转载 2020-09-03 19:47:15 · 150 阅读 · 0 评论 -
mysql数据库死锁的产生原因及解决办法
这篇文章主要介绍了mysql数据库锁的产生原因及解决办法,需要的朋友可以参考下数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并 发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行。在数据库中有两种基本的锁类型:排.转载 2020-09-03 19:46:20 · 604 阅读 · 1 评论 -
mysql主从同步注意事项
现在不少公司都在用MySQL(master)-->MySQL(slave)的框架,当然也有一主多从的架构,这也是MySQL主从的一个延伸架构;当然也有的公司MySQL主主的架构,MySQL主主架构要是处理得不适当,会面临各种各样的问题,当然啦,每种数据库构架都有自己的优缺点,合适自己公司业务需求的且方便自己维护的架构都可以认为是理想的构架,当出现同步断开了,我们是不是一味的使用--slave-skip-errors=[error_code]来跳过错误代码呢?其实不是的,这样做可能会造成数据不...转载 2020-07-28 23:42:57 · 303 阅读 · 0 评论 -
mysql重新开启主从
主从数据不一致,重新配置主从同步也是一种解决方法。1.从库停止主从复制stop slave;2.对主库数据库加锁flush tables with read lock;3.备份主库数据mysqldump -uroot -p --databases testdb1 testdb2 > full_bak.sql4.重置主库日志reset master;5.对主库数据库解锁unlock tables;6.删除旧数据drop ...转载 2020-07-28 23:32:10 · 1259 阅读 · 0 评论