--==========================================================-- -- 作者:彭建军 -- 日期: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 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 01:36 , Processed in 0.119017 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.