您的位置:首页 > 数据库

精通数据库SQL——创建、修改和删除表

2010-09-18 01:39 423 查看

一、表的创建(CREATE)

创建基本表

Create table table_name
(
Column_name1 data_type,
Column_name2 data_type,
……
)

非空约束

<column name> <data type> not null

default指定缺省值

<column name> <data type> default <default value>

二、表的修改

增加新列

Alter table table_name
Add column_name data_type ( not null default default_name )

删除列(具有非空约束的列可以被删除)

Alter table table_name
Drop column column_name
由于某一列设有默认值,所以系统不允许直接删除该列。如果一定要删除该列,必须首先采用alter table 语句删除默认值约束。语法如下:
Alter table table_name
Drop constraint constraint_name
其中,constraint_name为要删除的约束对应的约束名,是由DBMS创建的。对于某一列的缺省值约束来说,约束名可从直接删除该列系统的出错报告信息中获取,例如为“DF_student_sex_4CA06362”。然后再删除该列。

修改列

Alter table table_name
Modify column_name data_type
注:
1.SQL Server 2000 数据库系统中不支持Modify 关键字,用alter column替代modify可以修改数据库中的列。
2.当要减少表中某列的最多字符数要特别慎重,当数据库表中该列存在已有记录的字符数多于减少后的最多字符限制时,表的修改就会失败。
3.修改表中的某列,为其增加非空约束时,必须要确保该列已经存在的所有记录中没有NULL值。
4.SQL Serber 不仅允许改变列的数据长度,而且还允许改变其数据类型。但是当列为以下情况时,则不能改变其数据类型。
·是TEXT、IMAGE、NTEXT或TIMESTAMP类型
·是索引的一部分
·是PRIMARY或者KEY FOREIGN KEY 的一部分
·具有缺省值约束
·具有CHECK 约束
·具有UNIQUE 约束
当改变列的数据类型时,列中已有的数据必须与新的数据类型兼容。

三、表的删除与重命名

重命名表

在DB2、MySql、Oracle 数据库系统中可采用RENAME 关键词,而在SQL Server 和SyBase 数据库系统中可采用SP_RENAME 关键词重命名表。
Sp_rename ‘pre_table_name’,‘table_name’
Sp_rename ‘table_name.pre_column_name’,‘column_name’,‘column’

删除表

Drop table table_name

四、创建、删除数据库

数据库的创建

Create database database_name

SQL Server 中数据库的创建

Create database database_name
[ on
[ < filespec > [ , … n ] ]
[ , < filegroup > [ , … n ] ]
]
[ log on { < filespec > [ , … n ] } ]
其中< filespec >定义为:
( [ name = loqical file_name , ]
Filename = ‘os_file_name’
[ , size = size ]
[ , maxsize = { max_size | unlimited }]
[ , filegrowth = growth_increment ]) [ , … n ])
注:数据库文件的后缀名为“.mdf”,而事务处理日志文件的后缀名为“.ldf”

删除数据库

Drop database database_name [ , … n ]
如果该数据库正在被使用,通过DROP DATABASE 语句删除数据库操作就会失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: