c mysql创建表语句是_【Mysql】生成Sqlserver创建表语句

该博客内容涉及SQL语句,展示了如何使用DROP VIEW和CREATE VIEW来管理数据库视图。具体操作包括检查视图是否存在,然后创建一个视图,该视图将一个或多个表的数据结构转换为SQL创建语句。示例代码适用于MySQL,生成了针对'table_name'的DROP和CREATE语句,包括列名、数据类型、约束等详细信息。
摘要由CSDN通过智能技术生成

sql:

DROP VIEW

IF EXISTS `V_TableToSqlserverText`;

CREATE ALGORITHM = UNDEFINED

DEFINER = `root`@`localhost`

SQL SECURITY DEFINER

VIEW `V_TableToSqlserverText` AS (

SELECT TABLE_NAME tablename,rownum,sqltext

FROM(

SELECT TABLE_NAME,0 rownum,sqltext FROM (

SELECT c.TABLE_NAME,CONCAT('if object_id(''',c.TABLE_NAME,''',''U'') is not null

drop table [',c.TABLE_NAME,'];

CREATE TABLE ',c.TABLE_NAME,' (') sqltext

FROM information_schema.`TABLES` c

WHERE c.TABLE_SCHEMA='sevenblog'

AND c.TABLE_TYPE ='BASE TABLE'

) startSql

UNION ALL

SELECT c.TABLE_NAME,c.ORDINAL_POSITION rownum,

CONCAT('',

CASE

WHEN c.ORDINAL_POSITION >1 THEN ','

ELSE ''

END,

'[',

c.COLUMN_NAME,

'] ',

(

CASE

WHEN c.COLUMN_KEY = 'PRI' THEN 'uniqueidentifier'

WHEN c.DATA_TYPE = 'varchar' THEN CONCAT('n',c.DATA_TYPE,'(',c.CHARACTER_MAXIMUM_LENGTH,')')

ELSE c.DATA_TYPE

END

),

' ',

CASE

WHEN c.IS_NULLABLE = 'NO' THEN 'not null'

ELSE 'null'

END,

' ',

(

CASE

WHEN LENGTH(c.COLUMN_DEFAULT)>0 THEN CONCAT('default ','(',

(

CASE

WHEN c.COLUMN_DEFAULT = 'CURRENT_TIMESTAMP' THEN 'getdate()'

WHEN c.DATA_TYPE ='varchar' THEN CONCAT('''',c.COLUMN_DEFAULT,'''')

ELSE CONCAT(c.COLUMN_DEFAULT)

END

),')')

ELSE ''

END

),

CASE

WHEN c.COLUMN_KEY = 'PRI' THEN 'primary key'

ELSE ''

END

) sqltext

FROM information_schema.columns c

JOIN information_schema.`TABLES` b ON c.TABLE_NAME = b.TABLE_NAME

WHERE b.TABLE_SCHEMA='sevenblog'

AND b.TABLE_TYPE ='BASE TABLE'

UNION ALL

SELECT TABLE_NAME,100 rownum,sqltext from (

SELECT c.TABLE_NAME,CONCAT(');') sqltext

FROM information_schema.`TABLES` c

WHERE c.TABLE_SCHEMA='sevenblog'

AND c.TABLE_TYPE ='BASE TABLE'

) endStr

) tablesql

ORDER BY tablesql.TABLE_NAME,tablesql.rownum

);

结果如下

12ae7cce95a7bfad99715736a42d3303.png

生成sql

if object_id('login_log','U') is not null

drop table [login_log];

CREATE TABLE login_log (

[Id] uniqueidentifier not null primary key

,[UserID] int not null

,[Ipaddress] nvarchar(100) not null

,[Ipproxy] nvarchar(100) not null

,[System] nvarchar(100) not null default (' ')

,[Option] int null

,[EnumDataEntityStatus] int not null default (0)

,[CreateTime] datetime null default (getdate())

,[LastUpdateTime] datetime null default (getdate())

,[CreateOperator] nvarchar(50) null

,[LastUpdateOperator] nvarchar(50) null

);

if object_id('users','U') is not null

drop table [users];

CREATE TABLE users (

[Id] uniqueidentifier not null primary key

,[Account] nvarchar(255) not null

,[Password] nvarchar(255) not null

,[Name] nvarchar(255) not null default (' ')

,[Sex] int null

,[EnumDataEntityStatus] int not null default (0)

,[BizCode] nvarchar(255) not null default (' ')

,[TypeId] int not null default (0)

,[TypeName] nvarchar(30) null

,[CreateTime] datetime null default (getdate())

,[LastUpdateTime] datetime null default (getdate())

,[CreateOperator] nvarchar(50) null

,[LastUpdateOperator] nvarchar(50) null

);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值