MySQL导出所有Index和约束的方法
程序员文章站
2024-03-02 11:52:34
本文汇总了mysql导出所有index 和 约束的方法,提供给大家以方便大家查询使用。具体如下:
1. 导出创建自增字段语句:
select
concat(...
本文汇总了mysql导出所有index 和 约束的方法,提供给大家以方便大家查询使用。具体如下:
1. 导出创建自增字段语句:
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;' ) from information_schema.columns where table_schema = 'source_database_name' and extra = upper('auto_increment') order by table_name asc
2. 导出所有索引:
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 = 'pbq' group by table_name, index_name order by table_name asc, index_name asc
3. 创建删除所有自增字段:
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;' ) from information_schema.columns where table_schema = 'destination_database_name' and extra = upper('auto_increment') order by table_name asc
4. 删除库所有索引:
select concat( 'alter table `', table_name, '` ', group_concat( distinct concat( 'drop ', if(upper(index_name) = 'primary', 'primary key', concat('index `', index_name, '`') ) ) separator ', ' ), ';' ) from information_schema.statistics where table_schema = 'destination_database_name' group by table_name order by table_name asc
希望本文所述示例能够对大家有所帮助。
推荐阅读
-
MySQL导出所有Index和约束的方法
-
mysql查询所有数据库和每个表磁盘所占空间大小容量的方法sql
-
MySQL 创建索引(Create Index)的方法和语法结构及例子_MySQL
-
Mysql中文乱码及导出sql语句和Excel的相关解决方法
-
MySQL 创建索引(Create Index)的方法和语法结构及例子_MySQL
-
MySQL导出所有Index和约束的方法_MySQL
-
MySQL 创建索引(Create Index)的方法和语法结构及例子
-
MySQL 创建索引(Create Index)的方法和语法结构及例子
-
php列出mysql表所有行和列的方法
-
mysql导出表的字段和相关属性的步骤方法