mysql建索引 heidi_MySQL使用HeidiSQL工具改库名
HeidiSQL是一款数据库管理工具,它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具。支持通过多种方式连接管理 MySQL(MariaDB)、MSSQL Server、PostgreSQL数据库,功能强大,完全免费,推荐大家使用。HeidiSQL比起其他客户端工具而言,支持显示库表的索引大小和数据大小,并且支持改库名(是通过移动表来完成)。
官网:https://www.heidisql.com
HeidiSQL特点:
• 连接到多个服务器窗口。
• 可以使用命令行连接到服务器。
• 创建和编辑表格,视图,存储程序,触发器和安排日程。
• 从一台服务器/数据库直接导入数据到另一台服务器/数据库
• 管理用户权限。
• 导入文本文件。
• 为CSV,HTML,XML和SQL导出表行。
• 批量修改表(移动到新DB,改变,整理等)
• 批量插入到表中ASCII或二进制文件。
• 写自定义语法高亮和代码自动完成查询。
• 漂亮的SQL格式化。
• 监视和杀灭客户进程。
• 找到一个所有数据库的所有表的具体文本服务器。
• 在批处理方式优化和修复表。
界面就是这样,具体使用需要大家多多尝试。今天主要说一下使用HeidiSQL来更改库名,其是通过移动表来完成的。MySQL原生是不支持更改库名的,只支持更改表名。但是我们可以借助rename这个更改表的命令来完成快速更改库名,这个方法比把全部数据导出再导入来得更快。
核心操作方法:
1. create database newdb
2. rename olddb.tables to newdb.tables
但是这个命令碰到视图会出错,也不能把旧库中的函数,存储过程,事件移过来,对于这一些,我们可以从旧库中导出这些定义,再导入到新库中。我们不可能一个个去改,得借助脚本。
脚本实现的逻辑思路:
1. 查看要改的新旧库是否存在,来判断是否需要进一步处理。
2. 先用rename把所有的表移到新命名的库中。
3. 导出旧库中的视图,函数,存储过程,事件。
4. 导入新库中。
5. 删除旧库。
而在HeidiSQL中更改库名就是这么实现的,也就避免了我们自己写脚本了。在HeidiSQL界面选择一个库名,右击编辑库,就可以更改库名了。然后就可以看到如下操作过去:
SELECT CONNECTION_ID();
/* 已连接: 线程ID:11 */
/* 字符集: utf8mb4 */
SHOW STATUS;
SHOW VARIABLES;
SHOW DATABASES;
/* 进入会话 "test" */
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='information_schema';
SHOW TABLE STATUS FROM `information_schema`;
SHOW FUNCTION STATUS WHERE `Db`='information_schema';
SHOW PROCEDURE STATUS WHERE `Db`='information_schema';
SHOW TRIGGERS FROM `information_schema`;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='information_schema';
SHOW TABLE STATUS FROM `information_schema`;
SHOW FUNCTION STATUS WHERE `Db`='information_schema';
SHOW PROCEDURE STATUS WHERE `Db`='information_schema';
SHOW TRIGGERS FROM `information_schema`;
SHOW EVENTS FROM `information_schema`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='information_schema';
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='mysql';
SHOW TABLE STATUS FROM `mysql`;
SHOW FUNCTION STATUS WHERE `Db`='mysql';
SHOW PROCEDURE STATUS WHERE `Db`='mysql';
SHOW TRIGGERS FROM `mysql`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='mysql';
USE `mysql`;
SHOW CREATE TABLE `mysql`.`db`;
SHOW COLLATION;
SHOW ENGINES;
USE `test`;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='test';
SHOW TABLE STATUS FROM `test`;
SHOW FUNCTION STATUS WHERE `Db`='test';
SHOW PROCEDURE STATUS WHERE `Db`='test';
SHOW TRIGGERS FROM `test`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='test';
SHOW VARIABLES LIKE 'collation_server';
SHOW CREATE DATABASE `test`;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='test';
SHOW TABLE STATUS FROM `test`;
SHOW FUNCTION STATUS WHERE `Db`='test';
SHOW PROCEDURE STATUS WHERE `Db`='test';
SHOW TRIGGERS FROM `test`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='test';
SHOW DATABASES;
CREATE DATABASE `test1` /*!40100 COLLATE 'utf8_general_ci' */;
RENAME TABLE `test`.`user1` TO `test1`.`user1`;
RENAME TABLE `test`.`user2` TO `test1`.`user2`;
RENAME TABLE `test`.`user3` TO `test1`.`user3`;
RENAME TABLE `test`.`user4` TO `test1`.`user4`;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='test';
SHOW TABLE STATUS FROM `test`;
SHOW FUNCTION STATUS WHERE `Db`='test';
SHOW PROCEDURE STATUS WHERE `Db`='test';
SHOW TRIGGERS FROM `test`;
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='test';
DROP DATABASE `test`;
SHOW DATABASES;
/* 进入会话 "test" */
SHOW DATABASES;
/* 进入会话 "test" */
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='';
SHOW TABLE STATUS FROM ``;
/* SQL错误(1102):Incorrect database name '' */
SHOW FUNCTION STATUS WHERE `Db`='';
SHOW PROCEDURE STATUS WHERE `Db`='';
SHOW TRIGGERS FROM ``;
/* SQL错误(1102):Incorrect database name '' */
SELECT *, EVENT_SCHEMA AS `Db`, EVENT_NAME AS `Name` FROM information_schema.`EVENTS` WHERE `EVENT_SCHEMA`='';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
SELECTCONNECTION_ID();
/*已连接:线程ID:11*/
/*字符集:utf8mb4*/
SHOWSTATUS;
SHOWVARIABLES;
SHOWDATABASES;
/*进入会话"test"*/
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='information_schema';
SHOWTABLESTATUSFROM`information_schema`;
SHOWFUNCTIONSTATUSWHERE`Db`='information_schema';
SHOWPROCEDURESTATUSWHERE`Db`='information_schema';
SHOWTRIGGERSFROM`information_schema`;
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='information_schema';
SHOWTABLESTATUSFROM`information_schema`;
SHOWFUNCTIONSTATUSWHERE`Db`='information_schema';
SHOWPROCEDURESTATUSWHERE`Db`='information_schema';
SHOWTRIGGERSFROM`information_schema`;
SHOWEVENTSFROM`information_schema`;
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='information_schema';
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='mysql';
SHOWTABLESTATUSFROM`mysql`;
SHOWFUNCTIONSTATUSWHERE`Db`='mysql';
SHOWPROCEDURESTATUSWHERE`Db`='mysql';
SHOWTRIGGERSFROM`mysql`;
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='mysql';
USE`mysql`;
SHOWCREATETABLE`mysql`.`db`;
SHOWCOLLATION;
SHOWENGINES;
USE`test`;
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='test';
SHOWTABLESTATUSFROM`test`;
SHOWFUNCTIONSTATUSWHERE`Db`='test';
SHOWPROCEDURESTATUSWHERE`Db`='test';
SHOWTRIGGERSFROM`test`;
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='test';
SHOWVARIABLESLIKE'collation_server';
SHOWCREATEDATABASE`test`;
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='test';
SHOWTABLESTATUSFROM`test`;
SHOWFUNCTIONSTATUSWHERE`Db`='test';
SHOWPROCEDURESTATUSWHERE`Db`='test';
SHOWTRIGGERSFROM`test`;
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='test';
SHOWDATABASES;
CREATEDATABASE`test1`/*!40100COLLATE'utf8_general_ci'*/;
RENAMETABLE`test`.`user1`TO`test1`.`user1`;
RENAMETABLE`test`.`user2`TO`test1`.`user2`;
RENAMETABLE`test`.`user3`TO`test1`.`user3`;
RENAMETABLE`test`.`user4`TO`test1`.`user4`;
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='test';
SHOWTABLESTATUSFROM`test`;
SHOWFUNCTIONSTATUSWHERE`Db`='test';
SHOWPROCEDURESTATUSWHERE`Db`='test';
SHOWTRIGGERSFROM`test`;
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='test';
DROPDATABASE`test`;
SHOWDATABASES;
/*进入会话"test"*/
SHOWDATABASES;
/*进入会话"test"*/
SELECT`DEFAULT_COLLATION_NAME`FROM`information_schema`.`SCHEMATA`WHERE`SCHEMA_NAME`='';
SHOWTABLESTATUSFROM``;
/*SQL错误(1102):Incorrectdatabasename''*/
SHOWFUNCTIONSTATUSWHERE`Db`='';
SHOWPROCEDURESTATUSWHERE`Db`='';
SHOWTRIGGERSFROM``;
/*SQL错误(1102):Incorrectdatabasename''*/
SELECT*,EVENT_SCHEMAAS`Db`,EVENT_NAMEAS`Name`FROMinformation_schema.`EVENTS`WHERE`EVENT_SCHEMA`='';
其执行过程跟上面给出的步骤差不多,自己可以找一个复杂的库更改一下试试看,玩的愉快。
如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
mysql建索引 heidi_MySQL使用HeidiSQL工具改库名相关推荐
- groupby索引有效吗_面试官:MySQL建索引需要遵循哪些原则呢?
点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如 ...
- mysql建索引java_MySQL 索引
MySQL 索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索 ...
- mysql建索引 字段截取_提高MySQL索引策略一:隔离查询列
在mysql中执行查询时,如果没有将查询条件(条件列)隔离出来,那么查询引擎则无法利用建立在该列上的索引进行数据获取.这里的"隔离"意味着查询条件字段不能作为表达式的一部分出现,所 ...
- mysql 建索引_mysql数据库正确建立索引及使用
普通mysql运行,数据量和访问量不大的话,是足够快的,但是当数据量和访问量剧增的时候,那么就会明显发现MySQL很慢,甚至down掉,那么就要考虑优化我们的mysql了.其中优化mysql的一个重要 ...
- linux mysql 建索引_MySQL在创建索引之前一定要想到的事情
MySQL在5.5.3版本引入了metadata lock 他的本意是解决之前版本事务隔离特性的几个bug,但是引入的问题也不小. 先说说MySQL的事务吧. Oracle的事务指的是需要分配回滚段的 ...
- vs连接mysql建一个表并增删查改_VS连接SQL Server数据库,增删改查详细教程(C#代码)...
工具: 1.Visual Studio (我使用的是vs2013) 2.SQL Server (我使用的是sql server2008) 操作: 1.打开SQL Server,打开后会看到数据库的初 ...
- 自动获取mysql建表语句_脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明...
常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...
- mysql 查看索引 命令_MySQL命令篇之库、表、索引、用户、视图及SELECT查询
大纲 一.库管理 二.表管理 三.索引管理 四.用户管理 五.视图管理 六.SELECT查询 一.库管理 (1).创建数据库CREATE DATABASE db_name [CHARACTER SET ...
- mysql trim 索引_mysql建索引后需要重启数据库修改MySQL的字符集
windows下的mysql配置文件是my.ini,一般在c:\windows\my.ini或者c:\winnt\my.ini可以直接在这个文件里面加上 W WW.002pc .COM从mysql建索 ...
最新文章
- 如何一眼就分辨出本科、硕士和博士?
- 没抢到欧冠杯的票?没关系!在VR中看!
- python xpath语法-XPath 语法
- kdj超卖_三分钟学会KDJ三大买卖绝技,简单高效,把握最佳买卖点,不懂KDJ的股民值得一看!...
- 1564: Strange Class
- 在.Net Core 3.0中尝试新的System.Text.Json API
- Cheapest Palindrome POJ - 3280(动态规划*)
- 您的Apache Camel应用程序现在包括现成的文档
- php开发oa系统的插件下载不了,OA系统安装不了office控件的解决方法
- The Amazon Appstore is not currently available in your country
- 网络流24题 餐巾计划(费用流)
- swiper 重新初始化
- GPU图形处理器与CPU区别
- U盘里的文件都变成了.exe文件
- 四、完成Teigha.net库对CAD看图的放大/缩小/移动实体等界面操作,图层管理器,以及CAD文件布局的切换功能
- JSP————详解jsp标签
- 数据库服务器压缩文件,服务器数据库怎么压缩文件
- python制作水球图
- hive币涨幅空间大吗_HIVE币今日价格_HIVE币最新消息_HIVE币行情走势图 - 币界网
- BasicVSR论文阅读笔记