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

一、表的创建(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 语句删除数据库操作就会失败。

           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值