SQL Server 2000 (SP4)笔记整理(二):数据库表

王朝网络·mssql·作者佚名  2006-01-09
宽屏版  字体: |||超大  

--==========================================================--

-- 作者:彭建军

-- 日期:2005-06-22

-- 页面:Page2

-- 概要:数据库表的创建、修改、删除以及默认值、CHECK、IDENTITY

-- 说明:以下示例均在[查询分析器]下进行,可配合图形界面进行测试

--==========================================================--

USE Master

GO

--检查是否存在测试表,若存在,则删除之

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = 'MyTestTable1')

DROP TABLE MyTestTable1

GO

CREATE TABLE MyTestTable1

(

编号 INT PRIMARY KEY NOT NULL IDENTITY(1,1),

姓名 CHAR(8),

别名 VARCHAR(8),

性别 CHAR(2) DEFAULT ('男'),

年龄 INT CHECK(年龄>0 AND 年龄<100),

)ON [PRIMARY]

GO

--插入数据:

/*

下面的语句将不能执行,因为 [编号] 列为系统自动自增列。

INSERT INTO MyTestTable1(编号,姓名,别名,性别,年龄)

VALUES (1,'彭建军','彭建军','男',25)

GO

在当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'MyTestTable1' 中的标识列插入显式值。

*/

--正确的语句,方法一

INSERT INTO MyTestTable1(姓名,别名,性别,年龄)

VALUES ('彭建军','彭建军','男',25)

GO

--方法二:

INSERT INTO MyTestTable1(姓名,别名,性别,年龄)

SELECT '老转','老转','男',30 UNION ALL

SELECT '钱妮','妮子','女',28

GO

--查询数据(注意编号的自增性)

SELECT * FROM MyTestTable1

GO

/*

结果集

编号 姓名 别名 性别 年龄

----------- -------- -------- ---- -----------

1 彭建军 彭建军 男 25

2 老转 老转 男 30

3 钱妮 妮子 女 28

*/

--验证 默认值,不插入[性别]的值,则系统取默认值

INSERT INTO MyTestTable1(姓名,别名,年龄)

SELECT '潘颖','梨窝浅笑',25

GO

--查询

SELECT * FROM MyTestTable1 WHERE 姓名 = '潘颖'

GO

/*

结果集

编号 姓名 别名 性别 年龄

----------- -------- -------- ---- -----------

4 潘颖 梨窝浅笑 男 25

*/

--验证 CHECK,插入[年龄]的值超过100,则系统报错

INSERT INTO MyTestTable1(姓名,别名,性别,年龄)

SELECT '蛋蛋','蛋蛋','女',120

GO

/*

结果集

INSERT 语句与 COLUMN CHECK 约束 'CK__MyTestTable1__年龄__30B91D22' 冲突。该冲突发生于数据库 'master',表 'MyTestTable1', column '年龄'。

语句已终止。

*/

--修改表

--增加列

ALTER Table MyTestTable1

ADD 备注 VARCHAR(50)

GO

--修改列定义

ALTER Table MyTestTable1

ALTER COLUMN 备注 VARCHAR(100)

GO

--清空表的数据

--方法一(删除的数据将记入日志)

DELETE FROM MyTestTable1

GO

--如果是删除特定的行,则类似于 DELETE FROM MyTestTable1 WHERE 编号 = 1

--方法二(删除的数据不记入日志,执行效率高)

TRUNCATE TABLE MyTestTable1

GO

--删除表(谨慎使用!)

DROP TABLE MyTestTable1

GO

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有