用sql获取数据库中所有的表名的方法: 1、oracle下:select table_name from all_tables; 2、MySQL下:select table_name from information_schema.tables where table_schema='csdb' and table_type='base table'; 3、sql server下:select name from sys.tables go
第一个GO事务是检查当前数据库中是否已经存在名为table_name的表,如果有用就删除该表。 第二个GO事务是创建一个新的名为table_name的表。 IF 条件 BEGIN 语句(多条,单条时不用BEGIN...END) END ELSE BEGIN 语句(多条) END
EXISTS(语句)是SQL函数,判断是否存在查询结果。 sysobjects 是系统表,记录着当前数据库中所有表。 TYPE ='U'时是用户表,非系统表。 具体用法请见SQL的相关书籍。
实例如下:
if exists (select 1 from sysindexes where id = object_id('admin') and name = 'admin_PK' and indid 0 and indid 255) drop index admin.admin_PK go /*==============================================================*/ /* Table: admin 管理员表 */ /*==============================================================*/ create table [admin] ( adminID bigint identity(1,1) not null, adminUser nvarchar(20) not null, adminPass nvarchar(20) default '123456' not null, adminRole smallint default 5 null, -- constraint CKC_ADMINROLE_ADMIN check (adminRole is null or (adminRole in (s))), adminRegisteredDate datetime default getdate() not null, adminLastLoginDate datetime default getdate() not null, adminLoginCount bigint default 0 null ) go