侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【MySQL】备忘录

Administrator
2022-03-13 / 0 评论 / 0 点赞 / 53 阅读 / 5702 字

【MySQL】备忘录

导出数据库所有的索引

SELECT
	CONCAT('ALTER TABLE `', TABLE_NAME, '` ', 'ADD ',
		IF (
			NON_UNIQUE = 1,
			CASE 
				UPPER( INDEX_TYPE ) 
				WHEN 'FULLTEXT' THEN 'FULLTEXT INDEX' 
				WHEN 'SPATIAL' THEN 'SPATIAL INDEX' 
				ELSE CONCAT( 'INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE ) 
			END,
			IF ( 
				UPPER( INDEX_NAME ) = 'PRIMARY', 
				CONCAT( 'PRIMARY KEY USING ', INDEX_TYPE ), 
				CONCAT( 'UNIQUE INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE ) 
			) 
		),
		'(',
		GROUP_CONCAT( DISTINCT CONCAT( '`', COLUMN_NAME, '`' ) ORDER BY SEQ_IN_INDEX ASC SEPARATOR ', ' ),
		');' 
	) AS 'Show_Add_Indexes' 
FROM
	information_schema.STATISTICS 
WHERE
	TABLE_SCHEMA = 'fle_dev' 
GROUP BY
	TABLE_NAME,
	INDEX_NAME 
ORDER BY
	TABLE_NAME ASC,
	INDEX_NAME ASC

导出数据库所有自增

SELECT
	CONCAT( 'ALTER TABLE `', TABLE_NAME, '` ', 'MODIFY COLUMN `', COLUMN_NAME, '` ',
		IF (
			UPPER( DATA_TYPE ) = 'INT',
			REPLACE ( SUBSTRING_INDEX( UPPER( COLUMN_TYPE ), ')', 1 ), 'INT', 'INTEGER' ),
			UPPER( COLUMN_TYPE ) 
		),
		') UNSIGNED NOT NULL AUTO_INCREMENT;' 
	) AS 'Show_Add_AUTO_INCREMENT' 
FROM
	information_schema.COLUMNS 
WHERE
	TABLE_SCHEMA = 'fle_dev' 
	AND EXTRA = UPPER( 'AUTO_INCREMENT' ) 
ORDER BY
	TABLE_NAME ASC

新建表

CREATE TABLE `big_customer` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `create_time` datetime NULL COMMENT '创建时间',
  `update_time` datetime NULL COMMENT '修改时间',
  `ding_dept_id` varchar(50) NOT NULL DEFAULT '' COMMENT '钉钉部门ID',
  `count_mon` varchar(7) NOT NULL DEFAULT '' COMMENT '统计日期',
  `report_name` varchar(100) NOT NULL DEFAULT '' COMMENT '显示名称',
  `report_sort` tinyint(2) NULL COMMENT '显示顺序',
  `budget_m` decimal(18,2) NULL COMMENT '月预算/目标',
  `profit_m` decimal(18,2) NULL COMMENT '月实际结果',
  `ratio_m` decimal(10,4) NULL COMMENT '月占比',
  `ratio_mm` decimal(10,4) NULL COMMENT '月同比',
  `ratio_mf` decimal(10,4) NULL COMMENT '月完成率',
  `budget_y` decimal(18,2) NULL COMMENT '年预算/目标',
  `profit_y` decimal(18,2) NULL COMMENT '年实际结果',
  `ratio_y` decimal(10,4) NULL COMMENT '年占比',
  `ratio_yy` decimal(10,4) NULL COMMENT '年同比',
  `ratio_yf` decimal(10,4) NULL COMMENT '年完成率',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_ding_dept_id_count_mon_report_name`(`ding_dept_id`,`count_mon`,`report_name`) USING HASH
) ENGINE=InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic COMMENT='大客户数据表单';

新增列

ALTER TABLE bus_payroll_record ADD demand_category_id VARCHAR(40) COMMENT '任务行业类型Id'

备份表

CREATE TABLE medicine_param_bak LIKE medicine_param;
INSERT INTO medicine_param_bak SELECT * FROM medicine_param;

数据库备份脚本

#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: uker_psp_backup.sh
# Describe: Used for uker_psp database backup
# Revision: 1.0
# Date: 2021/03/14
# Author: daijiong
# 设置mysql的登录用户名和密码(根据实际情况填写)
mysql_user="root"
mysql_password="SuccessHR@2021"
mysql_host="localhost"
mysql_port="3306"
backup_dir=/data/mysql_backup
backup_database="uker_psp"
reservation_day="1"
dt=$(date +"%Y%m%d")
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")
# 备份uker_psp数据库
mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password $backup_database > $backup_dir/$backup_database/$dt.sql
find $backup_dir/$backup_database -mtime +$reservation_day -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")

MySQL命令连接服务器

mysql -u root -p -P 13306 --socket=/home/kettle-pack/mysql/tmp/mysql.sock

查看连接MySQL服务器的会话

SHOW FULL PROCESSLIST;

查看MySQL服务器的表锁

SHOW ENGINE INNODB STATUS;

此命令只针对MySQL是INNODB引擎的

0

评论区