从mysql元数据表中通过sql 构造/还原/生成 建表语句
set @schema := 'zabbix';
SELECT
d.sql_script
FROM
(SELECT
c1.*
FROM
(SELECT
1 typ_seq,
table_name,
CONCAT('create table "', UPPER(table_name), '"(') sql_script,
0 inner_seq
FROM
information_schema.tables
WHERE
`TABLE_SCHEMA` = @schema UNION ALL SELECT
2, table_name, sql_script, inner_seq
FROM
(SELECT
table_name,
CONCAT(IF(a.`ORDINAL_POSITION` = 1, '', ','), '"', UPPER(column_name), '" ', COLUMN_TYPE, CASE
WHEN
COLUMN_DEFAULT IS NULL
OR TRIM(COLUMN_DEFAULT) = ''
THEN
''
ELSE CONCAT(' DEFAULT ', CASE
WHEN data_type IN ('bigint' , 'int', 'decimal', 'tinyint', 'float', 'smallint', 'date', 'double', 'time','datetime') THEN COLUMN_DEFAULT
&

本文介绍了如何使用SQL语句从MySQL的元数据表中获取并重建建表语句,包括表结构、约束、索引等信息。通过对`information_schema`的相关表进行查询和组合,可以构建出完整的建表脚本。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



