选择显示字体大小

sql 数据库表的修改


当表创建好后,可能根据需要要对表的列、约束等属性进行添加、删除或修改,这就需要修改表结构。

7.4.1 用enterprise manager 修改
在enterprise manager 中选择要进行改动的表,单击右键,从快捷菜单中选择“designtable”选项,则会出现如图7-4 所示的修改表结构对话框。可以在图7-4 所示的对话框中修改列的数据类型、名称等属性或添加、删除列,也可以指定表的主关键字约束。单击工具栏中的图标,出现如图7-5 所示的编辑表和约束的属性的对话框。可以在其中编辑各种约束和一些表的属性。



7.4.2 用alter table 命令修改
alter table 命令可以添加或删除表的列、约束,也可以禁用或启用已存在的约束
或触发器。其语法如下:
alter table table
{ [alter column column_name
{ new_data_type [ (precision[, scale] ) ]
[ collate < collation_name > ]
[ null not null ]
{add drop} rowguidcol } ]
add
{ [ <column_definition> ]
column_name as computed_column_expression
}[,...n]
[with check with nocheck] add
{ <table_constraint> }[,...n]
drop
{ [constraint] constraint_name
column column
}[,...n]
{check nocheck} constraint
{all constraint_name[,...n]}
{enable disable} trigger
{all trigger_name[,...n]}
}
<column_definition> ::= { column_name data_type }
[ [ default constant_expression ]
[ identity [(seed, increment ) [not for replication] ] ]
]
[ rowguidcol ]
[ collate < collation_name > ]
[ <column_constraint>] [ ...n]
<column_constraint> ::= [constraint constraint_name]
{ [ null not null ]
[ { primary key unique }
[clustered nonclustered]
[with fillfactor = fillfactor]
[on {filegroup default} ] ] ]
[ [foreign key]
references ref_table [(ref_column) ]
[ on delete { cascade no action } ]
[ on update { cascade no action } ]
[not for replication ] ]
check [not for replication]
(logical_expression)}
<table_constraint> ::= [constraint constraint_name]
{ [ { primary key unique }
[ clustered nonclustered]
{ ( column [ asc desc ] [,...n] ) }
[ with fillfactor = fillfactor]
[on {filegroup default} ] ]
foreign key
[(column[,...n])]
references ref_table [(ref_column[,...n])]
[not for replication]
[ on delete { cascade no action } ]
[ on update { cascade no action } ]
check [not for replication]
(search_conditions)}
各参数说明如下:

其它参数与创建表和约束中所讲的相同。
例7-13: 创建一个定货商信息表,然后修改简介列的数据类型。
create table order_firm (
order_firm_id char (8) primary key,
firm_name varchar (50) not null
firm_introduce char(50) null
) on [primary]
alter table order_firm
alter column firm_introduce varchar(250) null
例7-14: 创建一个定货表再插入一个定货商编号列。
create table orders(
order_id char(8) ,
p_id char(8) foreign key references products(p_id),
order_quantity smallint check (order_quantity>=10),
constraint pk_order_id primary key (order_id),
) on [primary]
alter table orders
add order_firm_id char(8) null
constraint fk_order_firm_id foreign key references order_firm(order_firm_id)
例7-15: 更改上例中的检查约束,并删除一个外关键字约束。
alter table orders
add constraint chk_order_quantity check (order_quantity>=100)
drop constraint chk_order_quantity

7.4.3 用存储过程sp_rename 修改表名和列名
sp_rename 存储过程可以修改当前数据库中用户对象的名称,如表、列、索引存储过程等。其语法如下:
sp_rename [@objname =] 'object_name',
[@newname =] 'new_name'
[, [@objtype =] 'object_type']
其中[@objtype =] 'object_type'是要改名的对象的类型,其值可以为‘column’、‘database’、‘index’、‘userdatatype’、‘object’。值‘object’指代了系统表sysobjects 中的所有对象,如表、视图存储过程、触发器、规则、约束等。‘object’值为默认值。

例7-16:更改orders 表的列p_id 名称为products_id
exec sp_rename 'orders.[p_id]', 'product_id', 'column'
运行结果如下:
caution: changing any part of an object name could break scripts and stored procedures.
the column was renamed to 'product_id'.

例7-17: 更改orders 表的名称为p_orders。
exec sp_rename 'orders', 'p_orders''
运行结果如下:
caution: changing any part of an object name could break scripts and stored procedures.
the object was renamed to 'p_orders'.
  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons