Mysql
Mysql学习及整理
MartinYangHJ
我的一天天
展开
-
MySQL生成某一年的所有日期
在 MySQL 中,可以使用 DATE_FORMAT 函数和 INTERVAL 关键字来生成某一年的所有日期。原创 2024-02-01 15:27:58 · 707 阅读 · 0 评论 -
Mysql对日期的操作函数
Mysql对日期的操作函数原创 2024-01-09 16:46:11 · 595 阅读 · 0 评论 -
MySQL ,STR_TO_DATE() 函数详解
在 MySQL 中,STR_TO_DATE() 函数用于将一个字符串转换为日期或时间格式。它可以帮助我们将字符串解析为日期类型,以便在查询中进行比较、计算和显示。注意:在使用 STR_TO_DATE() 函数时,确保给定的格式与字符串的实际格式相匹配,否则可能会导致转换失败或产生不准确的结果。是指定日期或时间的格式。转换为日期类型,并返回一个日期值。原创 2024-01-09 16:36:33 · 2950 阅读 · 0 评论 -
MySQL时间函数 NOW()、CURDATE()、SYSDATE()、CURTIME()、CURRENT_TIMESTAMP()、CURRENT_DATE()和CURRENT_TIME()区别
MySQL时间函数 NOW()、CURDATE()、SYSDATE()、CURTIME()、CURRENT_TIMESTAMP()、CURRENT_DATE()和CURRENT_TIME()区别原创 2024-01-05 15:33:08 · 1485 阅读 · 0 评论 -
windows系统MySQL5.7小版本升级
此次是windows系统下,将mysql 5.7.38升级到5.7.43(当前最新版本)。原创 2023-07-24 15:31:26 · 1832 阅读 · 1 评论 -
MySQL replace into行为解析
1、不冲突,replace执行语句为insert。2、只存在主键或只存在唯一索引冲突,replace执行update。3、同时存在主键和唯一索引,唯一索引冲突,replace执行update。4、同时存在主键和唯一索引,主键冲突,replace先delete再insert。5、同时存在主键和唯一索引冲突,同一行数据,replace先delete再insert。6、同时存在主键和唯一索引冲突,不同一行数据,replace先delete再update。转载 2023-05-25 10:27:45 · 1840 阅读 · 0 评论 -
MySQL使用新创建用户打开视图时报“Access denied for user ‘xxx‘@‘localhost‘”错误
使用如下代码为MySQL创建新用户并给新用户赋予部分视图的只读权限创建好用户并用新用户登录,可以打开连接,但是打开视图查看数据时,报错如下:这是什么原因呢?原因:mysql.user表里root的权限还不够高或者说root的权限只能本机访问,没有远程访问权限。在创建用户的连接下使用root登录后,执行以下语句即可:以上创建的root用户,允许在任何地方进行远程登录,并具有所有库任何操作权限。原创 2023-03-07 14:20:02 · 843 阅读 · 0 评论 -
MySQL数据库关键字
MySQL关键字原创 2023-03-02 17:51:35 · 340 阅读 · 0 评论 -
MySQL数据库一个字段对应多个值得模糊“否”查询
但是,如何进行逆查询呢?即在REGEXP前面添加“not”关键字即可。原创 2023-02-15 11:02:51 · 623 阅读 · 0 评论 -
MySQL数据库一个字段对应多个值得模糊查询
但是上面的情况只能对应少量的模糊查询值,过多之后再后台开发的时候会出现非常麻烦的sql语句拼接。这时我们可以采用正则表达式进行匹配。转载 2023-02-15 10:42:32 · 1738 阅读 · 0 评论 -
存储过程实现向Mysql数据库插入20万条数据
向数据库一次性插入大量数据有多种方式,这里只介绍使用存储过程实现。DROP PROCEDURE if EXISTS my_test_insert;DELIMITER ;CREATE PROCEDURE my_test_insert()BEGINDECLARE num BIGINT DEFAULT 1;WHILE num<200000DOIF num % 2=0 THEN INSERT INTO mytab (`id`, `v1`, `v2`) VALUES (num, num,n原创 2022-04-25 16:15:17 · 1203 阅读 · 0 评论 -
Mysql慢查询的优化案例(三)
Mysql数据库、表、字段、索引等的命名很大程度上会影响sql语句查询的快慢。接下来就说明一下数据库的命名规范。一、数据库设计规范1.数据库命名规范a、采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;b、命名简洁明确(长度不能超过30个字符);c、例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;d、除非是备份数据库可以加0-9的自然数:user_db_20151210;原创 2022-04-25 16:08:02 · 643 阅读 · 4 评论 -
Mysql慢查询的优化案例(二)
一、创建索引1.CREATE INDEX在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。1、ALTER TABLEALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。ALTER TABLE table_name ADD INDEX index_name (column_list)ALTER TABLE table_name A...原创 2022-04-25 12:00:53 · 166 阅读 · 0 评论 -
Mysql慢查询的优化案例(一)
本文章所使用的的数据库为Mysql官方样例数据库:sakila。官方安装说明地址:https://dev.mysql.com/doc/sakila/en/sakila-installation.html官方下载地址:https://dev.mysql.com/doc/index-other.html下载到本地后,解压,执行解压后的SQL文件即可:接下来以该数据库为例讲解Mysql数据库的优化。优化案例1.函数Max()的优化...原创 2022-04-24 11:48:28 · 223 阅读 · 0 评论 -
Mysql数据库优化措施
1、SQL及索引优化根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化2、数据库表结构优化根据数据库的范式,设计表结构,表结构设计的好直接关系到写SQL语句。3、系统配置优化大多数运行在Linux机器上,如tcp连接数的限制、打开文件数的限制、安全性的限制,因此我们要对这些配置进行相应的优化。4、硬件配置优化选择适合数据库服务的cpu,更快的IO,更高的内存;cpu并不是越多越好,某些数据库版本原创 2022-04-24 10:54:47 · 737 阅读 · 0 评论 -
使用explain查询分析SQL的执行计划详解
目录1、使用explain查询SQL的执行计划1、使用explain查询SQL的执行计划SQL的执行计划侧面反映出了SQL的执行效率,具体执行方式如下所示:在执行的SQL前面加上explain关键词即可;原创 2022-04-22 14:49:57 · 3109 阅读 · 0 评论 -
SQL语句case when中else的添加与否的区别
(1)如下SQL语句,有elseselect case satisfaction WHEN 1 THEN '满意' WHEN 2 THEN '不满意' ELSE '无' ENDas satisfaction_namefrom table查询结果:(2)如下SQL语句,没有elseselect case satisfaction WHEN 1 THEN '满意' ...原创 2020-11-25 10:39:02 · 13356 阅读 · 0 评论 -
Mysql批量插入replace into
Mysql使用replace into 往数据库插入数据时,数据库的表必须有主键,并且replace into table1 (column1,column2,column3,column4) values("val1",val2,val3,"val4");在sql 语句中,column中必须有一个主键,values中值必须有一个为主键的值...原创 2021-02-07 15:57:27 · 1988 阅读 · 0 评论 -
Win10 Docker安装访问Mysql
1.安装Mysql,参考:https://www.runoob.com/docker/docker-install-mysql.html2.访问Mysql (1)运行cmd命令:docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 参数说明: -p 3306:3306:映射容器服务的 3306 端口到宿主机的 ...原创 2021-05-18 17:32:46 · 349 阅读 · 0 评论 -
MySQL查询数据库、表所占空间
1.查询数据库所占空间SELECT Concat( Round((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024,2),'MB') as datasFROM information_schema.TABLES where TABLE_SCHEMA='map';2.查询数据库里面各个表所占空间SELECT table_name, data_length + index_length AS len, table_rows, CONC...原创 2021-05-14 11:23:20 · 535 阅读 · 0 评论 -
MySQL 大批量插入,过滤掉重复数据
DELETE FROM table_nameWHERE id NOT IN ( SELECT t.id FROM ( SELECT MIN( id ) AS id FROM table_name GROUP BY name ) t )原创 2021-08-19 09:53:18 · 172 阅读 · 0 评论 -
Docker 安装 MySQL并进入Mysql
安装教程,可参考Docker 安装 MySQL安装完成后,如何通过PowerShell进入MySQL呢,Docker 安装 MySQL没有说清楚,具体如下:1.Docker 安装 MySQL里面设置的Mysql容器名称为mysql-test,在PowerShell中输入一下命令:与Mysql容器进行交互docker exec -t -i myMysql /bin/bash执行之后会获得Mysql容器内的/bin/bash终端,如下图:继续输入:mysql -uroot -p..原创 2022-02-14 11:18:59 · 1816 阅读 · 0 评论 -
MySQL错误illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)解决方法
(1)该错误一般出现在多表连接的SQL语句中,主要是两个表的编码字符集不一致所致;此时需要将两个表的字符集修改成一致的,即两个表的字符集都为同一个都为utf8_unicode_ci或者都为utf8_general_ci。(2)mysql系统表一般都是utf8_general_ci或者utf8mb4_0900_ai_ci等其他编码字符集,如果出现此错误就需要将自己建的数据库表的字符集调整为对应的字符集,最好是将新建数据库的字符集整个调整,防止本数据库内的表连接也出现错误...原创 2022-04-02 11:32:45 · 7837 阅读 · 0 评论