
mysql
王子様~
这个作者很懒,什么都没留下…
展开
-
MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES
在Linux上安装了Navicat ,然后链接mysql数据库,发现报如题错误;一般可以用跳过密码与修改密码来解决这个问题跳过认证:修改 /etc/my.cnf文件vi /etc/my.cnf加入信息;[mysqld]后面任意一行添加skip-grant-tables用来跳过密码验证的过程重启Mysql服务service mysql restart到这里,再去Navicat链接mysql数据库就可以了——————————————————————————后面还可以修改密码进入到.原创 2021-08-24 11:58:05 · 188 阅读 · 0 评论 -
Navicat 使用SSH隧道方式链接远程服务器mysql数据库
这里是介绍通过SSH去链接服务器上的mysql,有时通过主机IP去链接可能链接不上,或者是被设置了。通常服务器是可以链接的。那么这里介绍通过Navicat(毕竟界面直观点)通过SSH隧道链接新建一个链接填写SSH通道信息填写连接信息连接成功...原创 2021-08-17 14:46:15 · 2849 阅读 · 0 评论 -
mysql 获取group by最新一条数据
可能会遇到这么一种情况:1、获取各个分组的最新一条数据,2、根据各组最新一条数据关联查出其他数据查询各组最新一条数据查询各组最新一条数据,这个比较简单,但也不并不是group by 加order by,mysql的执行是先group by分组了再order by,这样其实分组时取的并不是各组的最新一条数据,是各组条件下的第一条数据,然后再给各组进行order by排序,显然这不是我们的需求方案:先写一个子查询,在子查询里进行排序,然后再group by,(注意子查询的order by要与limi.原创 2021-04-22 10:02:14 · 4236 阅读 · 0 评论 -
三范式与反范式的具体解释
对三范式与反范式用通俗的话解释第一范式第一范式:列是不重复,字段不可分割,是完整的,同一列不能有多个值,例如一个字段为学生,在这个字段里的值:张三,男,18。这是违反第一范式,应该修改为name、性别、年龄三个字段去报存这三个信息,也就是说一个字段就存一个数据,不是一串数据反例:正例:第二范式第二范式:第二范式必须依赖第一范式,表中数据每一行应该有区别其他行的标识,通常来说就是PK,默认主键,id等这个PK与整行数据具有直接关联,非主建字段完全依赖主键,也就是每行数据有主键第三.原创 2021-04-09 14:15:02 · 453 阅读 · 0 评论 -
MySQL 左连接,左表数据不全问题记录
通常会出现左表数据不全的情况,咋眼看没看到问题,这里记录下左连接:左表数据不全的原因之一:在where条件上有右表的字段条件,建议把右表条件放在连接条件处加and原创 2021-02-03 18:24:24 · 1950 阅读 · 1 评论 -
mysql union查询、以及分页查询
mysql union查询一、UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。否则会报错。二、union和 union all的关系和区别:1.UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。2.即 :union会对合并的两个或多个查询的结果集 进行 去重合并的操作。unio.原创 2020-07-30 09:09:21 · 1277 阅读 · 0 评论 -
mysql 获取当前年的每月
mysql 获取当前年的每月语句 (evt_t_event换成自己数据库表) SELECT CASE WHEN length(mon) = 1 THEN concat( LEFT (CURRENT_DATE, 5), '0', mon ) ELSE concat(LEFT(CURRENT_DATE, 5), mon) .原创 2020-07-02 17:54:43 · 797 阅读 · 0 评论 -
mysql 获取本周每天时间
mysql 获取本周每天时间语句 (evt_t_event换成自己的表) SELECT @date := DATE_ADD(@date, INTERVAL + 1 DAY) days FROM ( SELECT @date := DATE_ADD(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1), INTERVAL - 1 DAY) FROM evt_t_event LIMIT 7 ) t.原创 2020-07-01 20:19:52 · 1158 阅读 · 0 评论 -
mysql 获取当月或指定月的每天
mysql 获取当月或指定月的每天语句 SELECT @num:=@num+1 num, DATE_ADD(DATE_FORMAT(DATE_ADD(curdate(),interval -day(curdate())+1 day), '%Y-%m-%d'),INTERVAL @num DAY) as days FROM evt_t_event a, (select @num:=-1) num_t WHERE @num < (SELECT DAYOFMONTH(L.原创 2020-07-01 20:10:09 · 928 阅读 · 0 评论 -
Cause: java.sql.SQLException: The user specified as a definer ('test'@'%') does not exist
该问题一般存在执行视图、存储过程时报错,这是创建用户问题,一般出现在从其他库拷贝过来的东西,两个库的用户不一致,权限不一样在,导致的解决办法在navicat上进行修改将定义者从test改为在该服务器存在的用户(一般每个服务器都有root@localhost)修改后:再次执行就ok了,第二种方式通过sql语句修改mysql>update mysql.proc se...原创 2020-01-17 11:31:26 · 780 阅读 · 1 评论 -
MySQL 在右表数据不唯一的情况下使用left join的方法,并查出以右表为条件的主表数据
MySQL 在右表数据不唯一的情况下使用left join的方法,并查出以右表为条件的主表数据,1、:通过右表的数据状态为-1,的条件去查询左边数据与右表数据为同一个id的数据语句:先查询af的数据,用GROUP BY,让右表数据唯一,再与关联右表关联再统一查询出合集的数据 SELECT * FROM ( SELECT be.*,af.evt_id as evt_i...原创 2020-01-07 13:56:44 · 808 阅读 · 1 评论 -
mysql Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.
这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候,MySQL只允许能够保障事务安全,并且能够被日志记录的SQL语句被执行,像create table … select 和 create temporarytable语句,以及同时更新事务表和非事务...原创 2019-03-26 19:46:05 · 345 阅读 · 0 评论 -
mysql 生成一张全年日期表:工作日、周末、节假日
这里用存储过程生成全年日期、工作日与周末;再通过更新数据状态为节假日创建日期表 CREATE TABLE `year_date_all` ( `repDate` date NOT NULL COMMENT '日期', `repYear` int(8) NOT NULL COMMENT '年号', `repMonth` int(8) NOT NULL COMM...原创 2019-04-15 14:36:56 · 12127 阅读 · 26 评论 -
mysql 监测processlist情况并保存数据库并杀死耗时长的查询
mysql 监测processlist情况并保存数据库并杀死耗时长的查询新建数据库 CREATE TABLE `processlist_backup` ( `Id` bigint(20) NOT NULL COMMENT '线程ID', `User` varchar(15) DEFAULT NULL COMMENT '用户', `Host` varchar(65...原创 2019-04-21 15:11:50 · 848 阅读 · 3 评论 -
mysql 新建一个事件
用Navicat 新建一个事件:需要先开启事件执行;show variables like ‘%event_scheduler%’; event_scheduler ON 表示开启 event_scheduler OFF 表示关闭开启事件计划:set global event_scheduler=on;新建事件:保存输入事件名查看这个事件情况 SELECT * FROM...原创 2019-04-21 15:04:45 · 758 阅读 · 0 评论 -
mysql 获取当前时间、当月第一天、下月第一天、当月天数
mysql 获取当前时间、当月第一天、下月第一天、当月天数当前时间:select curdate(); -- 获取当前日期: 2019-04-09 当月第一天:select DATE_ADD(curdate(),interval -day(curdate())+1 day) -- 获取本月第一天: 2019-04-01下月第一天:...原创 2019-04-09 09:15:27 · 8534 阅读 · 1 评论 -
mysql 今天是一周第几天,上一个周末的日期
mysql 今天是一周第几天,上一个周末的日期今天是一周第几天:SELECT DAYOFWEEK(DATE_SUB(CURDATE() ,INTERVAL 1 day));用今天来推算上一个周末日期:SELECT date(DATE_SUB(CURDATE(),INTERVAL (DAYOFWEEK(DATE_SUB(CURDATE(),INTERVAL 1 day))) DAY)...原创 2019-04-09 08:45:41 · 1516 阅读 · 0 评论 -
Mysql查询某字段值重复的数据
Mysql查询某字段值重复的数据查询event表中,code_num字段值重复的数据及重复次数select code_num, count(*) as count from event WHERE accept_code_year group by code_num having count>1;...原创 2019-04-02 13:56:55 · 5394 阅读 · 0 评论 -
mysql触发器trigger笔记
触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日...原创 2019-04-11 15:49:51 · 189 阅读 · 1 评论 -
Mysql show processlist 排查问题
show full processlist 用来查看当前线程处理情况;结果是实时变化的,是对mysql链接执行的现场快照,所以用来处理突发事件非常有用详情博客参数介绍原创 2019-04-18 15:34:43 · 197 阅读 · 0 评论 -
mysql show full processlist 分析问题
一、命令概述:mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.htmlshow full processlist 返回的结果是实时变化的,是对mysql链接执行的现场快照,所以用来处理突发事件非常有用。 一般用到&...转载 2019-04-18 20:48:13 · 6909 阅读 · 0 评论 -
MySQLdump笔记
作者:LoveEmperor-王子様MySQLdump笔记备份本地数据cmd进入到MySQL的bin目录下,执行命令:mysqldump --host=localhost -uroot -p123456 --databases jweb > D:\xwz\myshell\backup\db.sql例: C:\Program Files\MySQL\MySQL Server 5...原创 2018-11-21 15:34:17 · 154 阅读 · 2 评论 -
mysql 表里的空间数据查询
空间数据查询sql语句SELECT AsText(geom) FROM base_village WHERE id=1868表字段查询结果数据匹配-- 判断点与多面的关系SELECT ST_Intersects(st_GeometryFromText('POINT(114.125622 22.629471)'),st_GeometryFromText('M...原创 2019-09-28 09:58:05 · 493 阅读 · 0 评论 -
mysql 空间数据一些使用
获取坐标的值、区域的大小、面积等获取x、y的值SELECT Y(GeomFromText('Point(56.7 53.34)'));SELECT x(GeomFromText('Point(56.7 53.34)'));获取数据区域的面积SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))';SELEC...原创 2019-09-28 09:51:58 · 323 阅读 · 0 评论 -
mysql 空间数据对比
判断一个点是否在一个区域数据内语句:前面点在后面区域内,返回1,否返回0SELECT ST_Intersects(st_GeometryFromText('POINT(1 1)'), st_GeometryFromText('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))'));方法二:SELECT ST_Within(st_GeometryFrom...原创 2019-09-28 09:47:01 · 233 阅读 · 0 评论 -
mysql 存储过程给表里的空字段赋值,从其他表里取数据
假设某个表的字段内容某些行为空,我们需要从其他表获取值,更新到这个表里;这里是采用游标,把值为空的数据查出来,然后用关联值去其他表查出内容,更新表存储过程: BEGIN #Routine body goes here... DECLARE district_code_ VARCHAR(64); DECLARE district_code_2 VA...原创 2019-08-24 10:25:01 · 844 阅读 · 0 评论 -
MySQL数据库查看相关库、表大小
查看所有数据库各表容量大小;便于清理内存。清理内存可以语句删除,也可以把不要的表删除再新建,这样没有索引内存,要数据再去做一点,方便快捷查看所有数据库各表容量大小 select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2)...原创 2019-05-27 20:38:14 · 186 阅读 · 0 评论 -
MySQL自定义函数
mysql中有许多计算函数,比如聚合函数SUM()、AVG()以及日期时间函数等等,我们可以直接使用;这里我们自定义函数主要用来封装计算,避免重复编写与语句美观。先介绍下语句新建函数: DELIMITER $$ -- 国定格式,操作开始 CREATE FUNCTION myFunction (str VARCHAR(255)) -- 声明会输入的参数 RETURNS...原创 2019-05-09 09:01:40 · 459 阅读 · 0 评论 -
MySQL CURSOR游标
1、游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句所检索出来的结果集。2、游标是针对行操作的,所以对从数据库中select查询得到的每一行可以进行分开的独立的相同或不同的操作,是一种分离的思想3、游标的缺点是只能一行一行操作,在数据量大的情况下,是不适用的,速度过慢,会有死锁情况发生(几万条吧,10万左右就会经常)。新建表,插入数据 CREAT...原创 2019-04-20 14:35:00 · 1601 阅读 · 0 评论 -
mysql 保存数据中文乱码"????"问题
mysql 保存数据中文乱码"???"问题一般是因为没有将数据库编码设置为支持中文的编码,mysql的默认编码是Latin1,不支持中文进入数据库,输入:show variables like "char%";出现下图则需要修改配置可以选择指令修改(需要把所有latin1修改为utf8): SET character_set_server='utf8'; SET cha...原创 2019-03-21 09:51:14 · 11965 阅读 · 4 评论 -
mysql查询一个库中有多少张表
mysql查询一个库中有多少张表在information_schema下打开查询,输入语句: SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'test';原创 2019-03-20 14:12:29 · 1291 阅读 · 0 评论 -
mysql 查询所有数据 以某个字段不为空,结果不重复,并以它排序
mysql 查询所有数据 以某个字段不为空,结果不重复,并以它排序select *, COUNT(distinct userId) from evt_t_pub_audit_msg_report where trim(userId)!='' AND trim(userName)!='' group by userId;...原创 2019-01-05 15:32:38 · 1666 阅读 · 0 评论 -
mysql 查询某个字段不为空,结果不重复,并以它排序
mysql 查询某个字段不为空,结果不重复,并以它排序select distinct userId from evt_t_pub_audit_msg_report where trim(userId)!='' order by userId;原创 2019-01-05 14:59:55 · 1490 阅读 · 1 评论 -
org.apache.cxf.interceptor.Fault: java.lang.String cannot be cast to [Ljava.lang.Object;
java.lang.String cannot be cast to [Ljava.lang.Object;sql语句执行的查询结果只有一列时就会出现该问题!当有多个列时用数组取没有问题,如果只有一列会默认为string或者其他类型!解决:添加一列查询...原创 2019-01-05 14:57:07 · 3831 阅读 · 1 评论 -
mysql 查询某个字段为空或不为空的数据
mysql 查询某个字段为空或不为空的数据某个字段为空的数据:select * from evt_t_pub_audit_msg_report where userName is null or trim(userName)='';某个字段不为空的数据:select * from evt_t_pub_audit_msg_report where trim(userName)!=''...原创 2019-01-05 13:46:47 · 14723 阅读 · 0 评论 -
mysqldump错误笔记
作者:LoveEmperor-王子様mysqldump 报错 1064(42000)原因:进入mysql ,使用mysqldump命令:mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2解决:退出mysql,在控制台直接输入mysqldump命令语句,运行成功ERR...原创 2018-11-23 10:28:06 · 805 阅读 · 0 评论 -
mysql各种错误代码与解决方案
作者:LoveEmperor-王子様mysql各种错误代码与解决方案错误代码2003: ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)解决: 右键“计算机(我的电脑)”点击“管理”, 然后点击“服务和应用程序”,双击“服务”,找到MySql的服务,右键 启动就可以了。ERROR 1045 (2...原创 2018-11-23 09:51:14 · 488 阅读 · 0 评论 -
mysql数据库某表查看多少列语句
作者:LoveEmpero-王子様mysql数据库:select count(*) from information_schema.COLUMNS where table_name='你的表名';结果: count*:44例图:oracle数据库:select count(*) from user_tab_cols where table_name='表名';结果:coun...原创 2018-11-01 16:41:51 · 373 阅读 · 0 评论 -
MySQL与MongoDB的区别介绍
什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含...原创 2018-09-27 14:21:21 · 561 阅读 · 0 评论 -
大数据量高并发访问的数据库优化方法(一)
一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难...转载 2018-09-05 11:13:09 · 684 阅读 · 0 评论