LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL 字段编辑

admin
2012年1月14日 17:14 本文热度 2702

修改字段名 alter table 表名1 rename column 原字段 to 目的字段


添加字段名 ALTER TABLE 表名 ADD COLUMN 字段名 n(20,5)


删除字段名 ALTER TABLE 表名 DROP COLUMN 字段名


修改字段类型 ALTER TABLE 表名 ALTER COLUMN 字段名 c(50)


语法


ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1 FieldType [(nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]


— 或者 —


ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]] [DROP DEFAULT] [DROP CHECK] [NOVALIDATE]


— 或者 —


 ALTER TABLE TableName1 [DROP [COLUMN] FieldName3] [SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2 [FOR lExpression4]] [DROP PRIMARY KEY] [ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY [eExpression5] TAG TagName4 [FOR lExpression6] REFERENCES TableName2 [TAG TagName5]] [DROP FOREIGN KEY TAG TagName6 [SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]


参数


TableName1


指定要修改其结构的表名。


ADD [COLUMN] FieldName1


指定要添加的字段名。单个的表中最多可以有 255 个字段。 如果一个或更多的字段允许 null 值, 该限制为 254 个字段。


ALTER [COLUMN] FieldName1


指定要修改的已有的字段名。


FieldType [(nFieldWidth [, nPrecision])]


指定新字段或待修改字段的字段类型、字段宽度和字段精度(小数点后的位数)。参数 FieldType 是表示字段数据类型的单个字符。有些字段类型还需要参数 nFiledWidth 或 nPrecision,或者两者皆要。下表列出了参数 FiledType 的值及其对应参数 nFiledWidth 和 nPression 的取舍情况:





































































字段类型 字段宽度 精度 说明
C n 宽度为 n 的字符字段
D 日期
T 日期时间
N n d 宽度为 n 的数值型字段,小数点后保留 d 位
F n d 宽度为 n 的浮点型字段,小数点后保留 d 位
I 整数型
B d 双精度型
Y 货币型
L 逻辑型
M 备注型
G 通用型
P 图象


对于 D、T、I、Y、L、M、G 和 P 型数据,省略参数 nFieldWidth 和 nPrecision。
如果对 N、F 或 B 型数据没有给出参数 nPrecision 的值,其的默认值为零。
NULL | NOT NULL 允许或不允许字段为空值。如果省略 NULL 和 NOT NULL,当前的 SET NULL 设置将决定字段是否允许为空;并且如果命令中带有 PRIMARY KEY 或 UNIQUE 子句,当前的 SET NULL 设置不起作用,字段默认状况为非空。
CHECK lExpression1 指定字段的有效性规则。lExpression1 为逻辑表达式值,可以是用户定义的函数或存储过程。
注意:每添加一个空记录时,都将进行有效性检查。如果有效性规则不允许添加的记录中有空字段值,VisualFoxPro 将产生错误信息。
ERROR cMessageText1 指定字段有效性检查出现错误时显示的错误信息。只有在“浏览”或“编辑”窗口中修改数据时,此信息才可能显示。
DEFAULT eExpression1 指定字段默认值。eExpression1 的数据类型必须与字段的数据类型相同。
PRIMARY KEY 创建主索引标识。索引标识与字段同名。
UNIQUE 创建与字段同名的候选索引标识。有关候选索引的详细内容,请参阅《开发指南》的第七章“处理表”。
附注候选索引(由 UNIQUE 选项创建,具有在 ALTER TABLE 或 CREATE TABLE 中的 ANSI 兼容性。)与带 UNIQUE 选项的 INDEX 命令创建的索引不同。用带 UNIQUE 选项的 INDEX 命令创建的索引允许有重复索引关键字,而候选索引不允许有重复索引关键字。
在主索引或候选索引字段中,不允许有空值和重复记录。如果用 ADD COLUMN 子句创建一个新字段,若给允许空值的字段创建主索引或候选索引,VisualFoxPro 不会产生错误。但是,如果您试图往用作主索引或候选索引的字段中输入空值或重复值,VisualFoxPro 将产生错误信息。如果修改已有的字段和由字段组成的主索引表达式或候选表达式时,将检查字段是否为空值或重复记录。如果为空值或重复记录,Visual FoxPro 将产生错误,并且不对表进行修改。
REFERENCES TableName2 TAG TagName1 指定与之建立永久关系的父表。参数 TAG TagName1 指定父表索引标识,关系建立在此父表索引标识基础上。索引标识最长为 10 个字。
NOCPTRANS 防止对字符串或备注字段进行代码页转换。如果表转换到另一代码页,指定了 NOCPTRANS 的字段不进行转换。NOCPTRANS 只能指定字符字段和备注字段。


下面的例子建立了一个名字为 MYTABLE 的表:该表包括两个字符字段和两个备注字段。第二个字符字段 char2 和第二个备注字段 memo2 包含 NOCPTRANS 以防止转换。
CREATE TABLE mytable (char1 C(10), char2 C(10) NOCPTRANS,; memo1 M, memo2 M NOCPTRANS) ALTER [COLUMN] FieldName2
指定要修改的已有的字段名。
SET DEFAULT eExpression2 指定已有字段的新默认值。eExpression2 的数据类型必须与字段数据类型相同。
SET CHECK lExpression2 指字已有字段新的有效性规则。lExpression2 值必须为逻辑表达式,也可以为用户自定义函数或已有的过程。
ERROR cMessageText2 指定有效性检查出现错误时显示的错误信息。只有在“浏览”窗口或“编辑”窗口改变数据时,才可能显示此信息。
DROP DEFAULT 删除已有字段的默认值。
DROP CHECK 删除已有字段的有效性规则。
DROP [COLUMN] FieldName3 从表中删除一个字段。删除一个字段的同时也删除了字段的默认值和字段有效性规则。字段被删除后,索引关键字或引用此字段的触发器表达式将变为无效。在这种情况下,删除字段并不产生错误,但是在运行时刻,无效的索引关键字或触发器表达式将导致错误。
SET CHECK lExpression3 指定表的有效性规则。lExpression3 必须是逻辑表达式,也可以是用户自定义函数或已有的过程。
ERROR cMessageText3 指定表的有效性检查出现错误时显示的错误信息。只有在“浏览”窗口或“编辑”窗口中改变数据值时,才可能显示此信息。
DROP CHECK 删除表的有效性规则。
ADD PRIMARY KEY eExpression3 TAG TagName2 往表中添加主索引,eExpression 指定主索引关键字表达式,TagName2 指定主索引标识名,索引标识名最长为 10 个字符。如果省略TAG TagName2 而 eExpression3 是一个字段,主关键索引标识与指定的 eExpression3 同名。
DROP PRIMARY KEY 删除主索引及其标识。因为表只能有一个主关键字,所以不必指定关键字的名称。删除主索引也将删除所有基于此关键字的永久关系。
ADD UNIQUE eExpression4 [TAG TagName3] 往表中添加候选索引。eExpression4 指定候选索引关键字表达式,TagName3 指定候选索引标识名。候选标识名最长可为 10 个字符。如果省略参数 TAG TagName3 并且 eExpression4 为单个字段,候选索引标识与 eExpression4 中的指定的字段同名。
DROP UNIQUE TAG TagName4 删除候选索引及其标识。因为表可能有多个候选关键字,所以必须指定候选索引标识名。
ADD FOREIGN KEY [eExpression5] TAG TagName4 往表中添加外部关键字(非主关字)索引。
eExpression5 指定外部索引关键字表达式,TagName4 指定外部索引标识名。索引标识名最长为 10 个字符。
REFERENCES TableName2 [TAG TagName5] 指定在其上创建了永久关系的父表。使用 TAG TagName5 指定一个已有的索引标识,基于此索引标识建立表与父表的一个关系。索引标识名最长可以为 10 个字符。如果省略参数 TAG TagName5,则使用父表的主索引标识建立关系。
DROP FOREIGN KEY TAG TagName6 [SAVE] 删除索引标识为 TagName6 的外部关键字。如果省略 SAVE 参数,将从结构索引中删除索引标识。如果加入 SAVE 参数,则不从结构索引中删除索引标识。
RENAME COLUMN FieldName4 TO FieldName5 允许改变表中字段的字段名。FieldName4 指定待更改的字段名,FieldName5 指定新的字段名。


注意 改变表的字段名时一定要小心--索引表达式、字段和表的有效性规则、命令、函数等等可能仍会引用原始字段名。 NOVALIDATE 选用这一选项后,Visual FoxPro 修改表的结构不受表中数据完整性的约束。默认时,Visual FoxPro 改变表结构将受到表中数据的完整性约束。使用 NOVALIDATE 参数将使默认情况无效。


说明 ALTER TABLE 命令可以用于修改还没有添加到数据库中的表的结构。然而在修改自由表时,如果加入 DEFAULT、FOREIGN KEY、PRIMARY REFERENCES 或 SET 子句,Visual FoxPro 将出现错误。


ALTER TABLE 命令可以通过建立新表头和往表头中添加记录来重建表。例如,改变字段类型或字段宽度。表经过重建后,将对所有改变了类型或宽度的字段执行字段有效性规则。如果修改了表中所有字段的类型或宽度,将执行表的有效性规则。如果对已含有记录的表修改其字段有效规则或表有效性规则,Visual FoxPro 将检查新的字段或表有效性规则是否与存在数据相符合,并在发现有不符之处时发出警告。 如果要修改的表在数据库中,ALTER TABLE-SQL 命令需要独占使用数据库。若要独占打开数据库,可使用包含 EXCLUSIVE 子句的 OPEN DATABASE 命令。


该文章在 2012/1/14 17:14:45 编辑过

全部评论3

admin
2012年1月14日 17:15
增加字段 alter table docdsp add dspcode char(200) 删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 改名 sp_rename 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。 语法 sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --假设要处理的表名为: tb --判断要添加列的表中是否有主键 if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK') begin print '表中已经有主键,列只能做为普通列添加' --添加int类型的列,默认值为0 alter table tb add 列名 int default 0 end else begin print '表中无主键,添加主键列' --添加int类型的列,默认值为0 alter table tb add 列名 int primary key default 0

该评论在 2012/1/14 17:15:36 编辑过
admin
2012年1月14日 17:28
SQL字段类型长度的更改方法 如果需要对SQL字段类型长度进行更改,应该怎么做呢?下面将为您举例说明SQL字段类型长度的更改方法,希望对您有所启迪。 下文将对SQL字段类型长度的更改进行详细的说明,并举例说明,供您参考,如果您对SQL字段类型长度方面感兴趣的话,不妨一看。 如果数据量非常大,达到几百万条记录以上,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这时可以使用Sql语句来更改,如下: --更改字段类型长度 alter table 表 alter column 字段名 类型的长度--varchar(60) 例:把城市表的城市名字段有原来的长度20改为30 alter table Testcity alter column cityname varchar(30) --更改字段类型 alter table 表 alter column 字段名 更改后的类型 例:把城市表的城市名字段有原来的varchar类型改为int类型 alter table Testcity alter column cityname int --添加not null约束 alter table 表 alter column 字段名 int not null 例:把cid不能输入空值 alter table Testcity alter column cid int not null --设置主键 alter table 表 add constraint 主键名 primary key(字段名) 例:把cid设为主键 alter table Testcity add constraint PK_cid primary key(cid) --更改字段名 EXEC sp_rename '表名.字段名','更改后的字段名','COLUMN' --添加字段名 ALTER TABLE 表 ADD 字段名 字段类型 DEFAULT null

该评论在 2012/1/14 17:28:33 编辑过
admin
2012年1月21日 0:42

下文为您介绍SQL修改字段默认值的方法,使用SQL语句可以实现许多我们需要的功能,SQL修改字段默认值就是其中之一。
 
一、SQL修改字段默认值
01.alter table 表名 drop constraint 约束名字 
02.
03.说明:删除表的字段的原有约束 
04.alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 
05.
06.说明:添加一个表的字段的约束并指定默认值 
07.
08.go

例:
01.alter table T_ping drop constraint DF_T_ping_p_c 
02.alter table T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c 
03.go 

二、获取字段默认值
01.select b.text as 默认值字段名 (随便起) 
02.from syscolumns a left join syscomments b on a.cdefault=b.id  
03.where a.id=object_id('表名') and a.name='字段名称' 
说明:syscolumns ,syscomments为系统表
 
例:
01.select b.text as moren  
02.
03.from syscolumns a left join syscomments b on a.cdefault=b.id  
04.where a.id=object_id('T_ping') and a.name='p_c' 

获取之后有引号,可以截取一下字符


该评论在 2012/1/21 0:44:47 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved