![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
帅伟
做好自己,每一天。
展开
-
mysql比较冷门的语法
1、rollup 和 group_concat() : rollup和group_concat()需要和group by连用,对组单位做统计select age, count(*), group_concat(name order by name desc) from user group by age with rollup;以age为分组,对同一age的用户进行分组,汇总他们的名字(group_concat)和人数,并在最后对总人数和总用户名进行汇总(rollup)————————————..转载 2022-01-05 14:52:49 · 232 阅读 · 0 评论 -
MySQL数据库启动不起来,需要备份然后还原系统
备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份转载 2021-10-27 12:15:06 · 663 阅读 · 0 评论 -
查询MySQL数据库下表的条数
select table_name,table_rows from information_schema.tables where TABLE_SCHEMA ='数据库名称'order by table_rows desc;转载 2021-10-26 10:35:12 · 221 阅读 · 0 评论 -
MySQL查看数据库表容量大小(优化)
1.查看所有数据库容量大小selecttable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'from information_schema.tablesgroup by table_schemaorder by sum(data_len.转载 2021-09-29 18:15:16 · 375 阅读 · 0 评论 -
mysql 去重
删除重复数据时,子句中包含了要删除的表,会报错,我们需要将子查询条件再包一层就可以了delete from poi where id in (select id from (select * from poi where poi_id in(select poi_id from poi group by poi_id having count(poi_id) >1 )and id not in (select min(id) from poi group by poi_id ha转载 2021-07-18 11:30:32 · 83 阅读 · 0 评论 -
mysql 创建虚拟列自动生成时间日期字段
1、增加时间戳转换成日期格式虚拟列alter table 表名 add column 虚拟列名 varchar(255) GENERATED ALWAYS AS (date_format(form_unixtime(case(('createdate'/1000) as signed)),'%Y-%m-%d %H:%i:%S'));2、日期格式转换成时间戳SELECT UNIX_TIMESTAMP(NOW()); ...原创 2021-03-13 10:47:55 · 939 阅读 · 0 评论 -
mysql停掉正在运行的存储过程
1. 输入show processlist;命令查看正在执行的任务2.查看Info找到任务对应的Id,执行kill命令1.使用SQL的方式的话,Mysql支持 show processlist来显示正在执行中SQL.包括任务的id,执行时间。2.使用kill id 命令终止它的执行3.如果你要使用程序的方式的话,processlist其实就是mysql一个系统表,你可以根据你的需要些SQL直接查询出你结束不掉的这条SQL...转载 2021-01-08 16:45:19 · 1654 阅读 · 0 评论 -
MySQL数字格式化、数字的取整、四舍五入
一、format函数:将数字X格式化,将X保留到小数点后D位,截断时要进行四舍五入。SELECT FORMAT(12332.123456, 4);-> '12,332.1235'二、rpad 和 lpadrpad 和 lpad 给定位数,不足补充自定义字符SELECT RPAD('hi',5,'?'); -> 'hi???'SELECT RPAD('hi',1,'?'); -> 'h'SELET RPAD(...转载 2020-12-01 10:51:49 · 1605 阅读 · 0 评论 -
Mysql 插入或更新时字段自动获取当前时间
创建时间字段ALTER TABLE表名称ADD COLUMN字段名datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’ ;如果已经创建了时间字段,使用下面的修改方法ALTER TABLE表名称MODIFY COLUMN字段名datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’ ;更新时间 字段ALTER TABLE表名ADD COLUMN字段名timestamp...转载 2020-11-16 16:23:08 · 2334 阅读 · 0 评论 -
mysql中的字符串判断语句(非空判断替换转换)
方法一.CASE函数CASEWHEN value1 THEN returnvalue1WHEN value2 THEN returnvalue2WHEN value3 THEN returnvalue3…… ELSE defaultvalueEND方法二.IF()函数CASE函数可以实现非常复杂的逻辑判断,实现满足条件就A,否则就B这样简单的判断逻辑的话,CASE函数就显得臃肿。MYSQL提供了IF()函数用于简化这种逻辑判断,其语法格式如下:IF(condition,A,B转载 2020-11-09 14:51:51 · 2792 阅读 · 0 评论 -
MySQL定时备份数据库操作示例
1. 查看mysqldumproot@laowang:/# which mysqldump/usr/bin/mysqldump2. 编写脚本编辑my.cnf文件, 指定账号与密码, 然后在脚本中引用root@laowang:/# vim /etc/my.cnf[mysqldump]user=rootpassword=root脚本文件root@laowang:/var/backups# vim mysql_backup.sh#!/bin/sh###########...转载 2020-11-03 11:38:53 · 401 阅读 · 0 评论 -
MySql--三种注释写法
MySql--三种注释写法需要特别注意-- 这种注释后面要加一个空格#DELETE FROM SeatInformation /*DELETE FROM SeatInformation */-- DELETE FROM SeatInformation转载 2020-10-15 20:07:02 · 122 阅读 · 0 评论 -
MySQL 日期时间加减
1、now (); 当前具体的日期和时间curdate (); 当前日期curtime(); 当前时间日期格式化 selectdate(time)fromexercise.加减某个时间间隔函数date_add()与date_sub()date_add('某个日期时间',interval 1 时间种类名);示例:select date_add(@dt, interval 1 year); //加1年select date_add(@dt, interval 1...转载 2020-10-14 16:55:46 · 715 阅读 · 0 评论 -
Mysql定时任务
一、mysql数据库默认不开启定时策略查看是否启动:showvariableslike'%event_sche%’临时设置开启定时任务(重启后恢复默认设置) setglobal event_scheduler=1;永久设置任务开启(mysql数据库启动时默认开启,设置完需重启)在mysql目录的bin下,找到my.ini文件,在[mysqld] 下添加:event_scheduler=ON二、创建存储过程(将sql语句放置begin和end中间)use ...转载 2020-10-13 11:16:10 · 581 阅读 · 0 评论 -
mysql存储过程 --游标的使用 取每行记录 (多字段)
delimiter $create PROCEDURE phoneDeal()BEGINDECLARE id varchar(64); -- idDECLARE phone1 varchar(16); -- phoneDECLARE password1 varchar(32); -- 密码DECLARE name1 varchar(64); -- id-- 遍历数据结束标志DECLARE done INT D...转载 2020-08-11 17:28:17 · 688 阅读 · 0 评论 -
使用PowerDesigner,Oracle数据库表转换为Mysql
最近新进的一个项目组中,需要将表结构从Oracle数据库迁移到Mysql,但是由于手动转换过于麻烦,而且表字段动辄几十上百个,在网上搜索了使用PowerDesigner进行转换的方法,并进行实践。记录于此,便于寻找。工具:PowerDesigner16.5.0.3982 Oracle数据库连接工具,只要能获取到表结构即可,我使用的是PLSQL 12转移的步骤如下:我们要获取Oracle中的表并将其导出为sql文件 打开PowerDesigner创建一个Mod...转载 2020-05-26 16:44:29 · 2662 阅读 · 0 评论 -
数据库中表和表结构的迁移——使用Navicat Primium从Oracle到MySql
1、需要到的工具 1、Navicat Primium 下载网址,https://www.navicat.com.cn/download 是官方网站。 (这是个收费软件,不过能免费试用 15 天,这足够我们去完成数据表的迁移了,所以不必在意。 ) 2、建立连接时需要到的文件 oci.dll 和 sqlplus.exe(sqlplus) 2、操作过程 2.1 创建连接并连接 oracle 下载安装好 Navicat Primium,点击安装文件,每一步都按照原来的选择,一路 NEX...转载 2020-05-26 16:38:47 · 1885 阅读 · 0 评论 -
MySQL 高级函数
MySQL 高级函数函数名 描述 实例 BIN(x) 返回 x 的二进制编码 15 的 2 进制编码: SELECT BIN(15); -- 1111 BINARY(s) 将字符串 s 转换为二进制字符串 SELECT BINARY "RUNOOB";-> RUNOOB CASE ex...转载 2019-10-26 20:28:48 · 971 阅读 · 0 评论 -
MySQL 数字函数
MySQL 数字函数函数名 描述 实例 ABS(x) 返回 x 的绝对值 返回 -1 的绝对值: SELECT ABS(-1) -- 返回1 ACOS(x) 求 x 的反余弦值(参数是弧度) SELECT ACOS(0.25); ASIN(x) 求反正弦值(参数是弧度) SEL...转载 2019-10-26 20:26:56 · 88 阅读 · 0 评论 -
MySQL 字符串函数
MySQL 字符串函数函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码。 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT ASCII(CustomerName) AS NumCodeOfFirstCharFROM Customers; CHAR_LENGTH(s) ...转载 2019-10-26 20:25:58 · 105 阅读 · 0 评论 -
MySQL 日期函数
MySQL 日期函数函数名 描述 实例 ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期 SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);->2017-06-25 ADDTIME(t,n) 时间 t 加上 n 秒的时间 SELECT ADDTIME('201...转载 2019-10-26 20:24:38 · 194 阅读 · 0 评论 -
mysql基础知识学习
1、使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;使用 WITH ROLLUPWITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。例如我们将以上的数据表按名字进行分...转载 2019-10-26 17:57:45 · 152 阅读 · 0 评论