快速修改MySQL数据库名称
原理:先创建新的数据库,然后利用information_schema数据库表结构信息,用 RENAME命令 将旧的表迁移到新数据库里面,最后删除旧的数据库名称即可。
步骤如下:
#查询目标数据库下面的所有表
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='旧数据库名称'; #创建新数据库
CREATE DATABASE IF NOT EXISTS 新数据库名称 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
#将每个旧表迁移到新的数据库里面
RENAME TABLE 旧数据库名称.表1 TO 新数据库名称.表1,旧数据库名称.表2 TO 新数据库名称.表2,……; #查询新数据库下面的所有表是否迁移成功
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='新数据库名称'; #最后删除旧数据库
DROP DATABASE 旧数据库名称;
注意,RENAME这个语法在mysql 5.1.7中被添加进baidu,到了zhi5.1.23又去掉了。
其他相关命令:
#查询目标数据库里的视图
SELECT * FROM information_schema.VIEWS WHERE TABLE_SCHEMA='数据库名称'; #查询目标数据库名
SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN('information_schema','mysql','performance_schema','sys');
#查询目标数据库下面的所有表
SELECT table_name,TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA='数据库名称';
完。
快速修改MySQL数据库名称的更多相关文章
- 如何修改MySQL数据库名称
比如数据库名称old_db想改名为new_db MySQL修改数据库名称比较麻烦,不支持直接修改,需要通过其它方式间接达到修改数据库名称的目的. 在 MySQL 5.1.23 之前的旧版本中,我们可以 ...
- 安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了.据说有可能丢失数据.还是不要用的好.详 ...
- 使用SQL语句修改Mysql数据库字符集的方法
使用SQL语句修改Mysql数据库字符集的方法 修改库: alter database [$database] character set [$character_set] collate [$c ...
- 修改MySQL数据库的密码
通过MySQL命令行,可以修改MySQL数据库的密码,下面就为您详细介绍该MySQL命令行,如果您感兴趣的话,不妨一看. 格式:mysql -u用户名 -p旧密码 password 新密码 1.给ro ...
- 【转】修改mysql数据库的用户名和密码
修改mysql数据库的用户名和密码 更改密码 mysql -u root -p Enter password:*** mysql>use mysql; 选择数据库 Database change ...
- Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码
由于MySQL编码原因会导致数据库出现乱码. 解决办法: 修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 &g ...
- 命令行修改MySQL数据库密码
通过MySQL命令行来修改MySQL数据库的密码,下面就为您详细介绍如何使用MySQL命令行来修改密码. 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1.给root加 ...
- 修改mysql数据库存储目录
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- 【mysql】修改mysql数据库密码
修改mysql数据库密码 操作系统:Linux centos7 数据库:mysql5.7 一.在已知MYSQL数据库的ROOT用户密码的情况下,修改密码 1.在Linux命令行,使用mysqladmi ...
- xampp修改mysql数据库密码(测试成功)
转载: http://www.360doc.com/content/17/0608/14/8797027_661063783.shtml ------------------------------- ...
随机推荐
- 3张大图剖析HttpClient和IHttpClientFactory在解决DNS解析问题上的殊途同归
在开发者便利度角度,我们很轻松地使用HttpClient对象发出HTTP请求,只需要关注应用层协议的BaseAddr.Url.ReqHeader.timeout. 实际在HttpClient在源码级别 ...
- 多校A层冲刺NOIP2024模拟赛08 排列
多校A层冲刺NOIP2024模拟赛08 排列 一种连续段 dp 的解法. 题面 小 Y 最近在研究组合数学,他学会了如何枚举排列. 小 Z 最近在研究数论,他学会了求最大公约数. 于是小 Y 和小 Z ...
- 使用免费的SVN服务器
在本地环境中安装SVN window版本自行搜索图文教程. linux版本(以我的 ubuntu 为例子) 我尝试直接敲SVN svn 报错 Command 'svn' not found, but ...
- common-dbutils的使用
1. 介绍 commons-dbutils是Apache组织提供的一个开源 JDBC工具类库,能让我们更简单的使用JDBC.它是一个非常小的类包,花几分钟的时间就能掌握它的使用. 2. ...
- Python源码分析2 - 一个简单的Python程序的执行
本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构. 要执行Python程序如下,功能非常简单:从1加到10再打印出来 # test program sum ...
- JDK7新特性之G1 GC
Garbage-first garbage collector,简称G1 GC,是最终将用于代替Concurrent Mark-Sweep garbage collector(CMS GC)的新一代垃 ...
- Mybatis【12】-- Mybatis多条件怎么查询?
很多时候,我们需要传入多个参数给sql语句接收,但是如果这些参数整体不是一个对象,那么我们应该怎么做呢?这里有两种解决方案,仅供参考. 1.将多个参数封装成为Map 测试接口,我们传入一个Map,里面 ...
- CudaSPONGE之Python接口
技术背景 在上一篇博客中我们介绍了CudaSPONGE的基本安装和使用方法.为了性能考虑,CudaSPONGE是基于纯CUDA C开发的,但是现在很多轮子都是Python开发的.为兼容更多的框架和平台 ...
- Helm部署SkyWalking
一 . 部署ElasticSearch 1.下载安装包 helm repo add elastic https://helm.elastic.cohelm pull elastic/elasticse ...
- Echrtas 实时渲染
1.实时曲线图 业务场景:每个时间节点产生一个数据,且时间节点间隔不固定 坐标轴配置:X轴类型设定为time,Y轴类型设定为value 数据格式:每个节点的数据都是一个数组,第一个数组为时间,第二个元 ...