中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
SQL Server 2000 (SP4)笔记整理(二):数据库表
作者:未知 时间:2005-07-27 23:40 出处:CSDN 责编:chinaitpower
              摘要:SQL Server 2000 (SP4)笔记整理(二):数据库表

--==========================================================--
--  作者:彭建军
--  日期: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


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有