怎样用SQL脚本为指定的一批表增加字段?

怎样用SQL脚本为指定的一批表增加字段?,第1张

declare @TableName varchar(255) --要增加字段的表名

declare @id int --要增加的表ID

declare @sql nvarchar(max) --增加时动态SQL

DECLARE IncludeListTable CURSOR FOR --取出所有表名包括list的表名和表ID

SELECT name ,id

FROM sysobjects where name like '%list%' and xtype='U'

OPEN IncludeListTable

FETCH NEXT FROM IncludeListTable INTO @TableName,@id

IF @@FETCH_STATUS <>0

PRINT '没有表'

WHILE @@FETCH_STATUS = 0

BEGIN

if (select COUNT(*) from syscolumns where id=@id and name='contact') =0 --从字段表中取出本表中contact字段,如果个数是0,表示没有

begin

print '为' + @TableName + '表添加字段contact'

set @sql = 'ALTER TABLE ' + @TableName + ' ADD contact varchar(200) NULL'

exec sp_executesql @sql --添加这个字段

end

FETCH NEXT FROM IncludeListTable INTO @TableName,@id

END

CLOSE IncludeListTable

DEALLOCATE IncludeListTable

写了一大堆,你看看,对不,看明白再用,头两表的判断我写的并不是太全,你自己再研究下吧

通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数

增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0

alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0

alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0

alter table [表名] add 字段名 double default 0 增加数字字段,双精度型,缺省值为0

alter table [表名] add 字段名 Tinyint default 0 增加数字字段,字节型,缺省值为0

alter table [表名] add 字段名 text [null] 增加备注型字段,[null]可选参数

alter table [表名] add 字段名 memo [null] 增加备注型字段,[null]可选参数

alter table [表名] add 字段名 varchar(N) [null] 增加变长文本型字段大小为N(1~255)

alter table [表名] add 字段名 char [null] 增加定长文本型字段大小固定为255

alter table [表名] add 字段名 Datetime default 函数增加日期型字段,其中函数可以是now(),date()等,表示缺省值

(上面都是最常用的,还有其他的属性,可以参考下面的数据类型描述)

删除字段: alter table [表名] drop 字段名

修改变长文本型字段的大小:alter table [表名] alter 字段名 varchar(N)

删除表: drop table [表名]

创建表:

sql="CREATE TABLE [表名] ([字段1,并设置为主键] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[字段2] varchar(50),"&

"[字段3] single default 0,"&

"[字段4] varchar(100) null,"&

"[字段5] smallint default 0,"&

"[字段6] int default 0,"&

"[字段7] date default date(),"&

"[字段8] int default 1)"

conn.execute sql

有null 的表示字段允许零长

数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。

结构化查询语言(英文简称:SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统,,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。 1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。结构化查询语言有五种数据类型,字符型、文本型、数值型、逻辑型和日期型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11356460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存