mysql常用操作

一、时间日期处理

昨天0点:UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY)

今天0点:UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE))

时间戳-转日期
FROM_UNIXTIME('时间戳字段','%Y-%m-%d %H:%i:%s') // 参数2可以省略

转日期-时间戳
UNIX_TIMESTAMP('2015-04-29')

二、数据存储,物理文件恢复,命令备份(恢复)

1、数据存储
- myisam引擎:frm(表结构)、myd(表数据)、myi (表索引)、par(分区)
- innodb引擎:frm(表结构)、ibd(表数据和索引)、par(分区)
2、恢复
- myisam:1.删除表的物理数据文件(frm、myd、myi等) 2.复制表备份的frm、myd、myi、[#par#分区文件]等数据文件到mysql的datadir路径下即可(不需要重启mysql)
- innodb: 1.删除原表的物理数据文件(frm、myd、myi等) 2.复制表备份的frm、myd、myi、[#par#分区文件]等数据文件到mysql的datadir路径下即可(不需要重启mysql)
3、备份(恢复)
mysqldump -u root -p test person > D:\dump.sql

// 备份整个库

mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql

// 备份所有库

 mysqldump -u root -p --all-databases > database_dump.sql

// 恢复

 - 1、mysql -u root -p [database_name] < dump.sql // 单库/多库恢复,如果是多库恢复,则不需要指定数据库
 - 2、use dbname;source dump.sql // 单库/单表恢复

// 远程复制

mysqldump -u root -p database_name  | mysql -h other-host.com -u root  -p database_name

三、库表查询

// 查看正在执行的操作

show full processlist

结果:
在这里插入图片描述

// 查询变量

show variables like '%log%'

// 查询表结构

desc 表名

// 查询建表语句

show create table tablename

// 查询建库语句

show create database dbname

// 查询表状态

show table status like 'part_order'

结果:
在这里插入图片描述
// 执行计划

explain sql 
explain partitions sql // 增加分区信息

在这里插入图片描述

三、例程

  • 1、存储过程
CREATE DEFINER=`root`@`%` PROCEDURE `filldata`(IN `num` int,OUT `result` varchar(20))
BEGIN
	#Routine body goes here...
	DECLARE v int default 0;  
	WHILE v < num
	DO
	INSERT into list_order values(v,'test partition',CURRENT_TIMESTAMP,YEAR(ADDDATE('2019-01-01',INTERVAL cast(RAND(v)*10 as signed) MOD 4 YEAR)));
	set v = v + 1;
	END WHILE;
	set result = 'success';
END

调用

set @return='';
call filldata(800000,@return);
select @return
  • 2、函数
CREATE DEFINER=`root`@`%` FUNCTION `testfunc`(`num` int) RETURNS varchar(20) CHARSET utf8mb4
BEGIN
	#Routine body goes here...

	RETURN 'success';
END

调用:

set @num=100;
select testfunc(@num)

三、函数

CAST 格式转换

1.字符串转浮点

cast('3.44' as decimal);

2.浮点转字符串
cast(‘3.44’ as char);

3.整形转字符串
cast(3 as char);

convert 格式转换

1.字符串转浮点
convert(‘3.44’,decimal);

2.整形转字符串
convert(‘3.44’,char);

3.整形转字符串
convert(3,char);

四、时区设置

[mysqld]
default-time_zone = ‘+8:00’

重启mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值