SQL Server 2000创建和使用表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

删除表
• 把相互关联的表一次性全部删除(使用CTRL 键选中所有表)。
• 先删除关联,然后删除表。
• 从关系图中删除表
5 记录的新增和修改
记录一般是通过Transact-SQL来添加的,但是从SQL Server 7.0开始, 记录的添加和修改可以通过企业管理器来进行。
记录的新增和修改与记录的表内容的查看的操作过程是相同的,就是 在打开表的内容窗口后,直接输入新的记录或者进行修改。
[column_name2 data_type …] …… )
例 在test数据库中创建一个clients表。 USE test CREATE TABLE clients (
cid int, cname char(8), address char(50) )
(2)段属性参数 常用的属性参数如下: • NULL和NOT NULL • PRIMARY KEY • UNIQUE
2. 修改多个元组的值
[例g4] 将所有学生的成绩增加1分。 UPDATE score SET degree= degree +1
修改数据(续)
RDBMS在执行修改语句时会检查修改操作 是否破坏表上已定义的完整性规则
实体完整性 主码不允许修改 用户定义的完整性
NOT NULL约束 UNIQUE约束 值域约束
[PRIMARY KEY | CONSTRAIN] [FOREIGN KEY (column_name) REFERENCES ref_table(ref_column)] DROP [CONSTRAINT] constraint_name | COLUMN column_name
• 例 修改表book,增加一个表示价格的 price字段。
操作步骤如下: (1)选择“关系图”选项,右击鼠标,选择“新建数据库关系图”命令,打开 创建数据库关系图向导。 (2)单击“下一步”按钮,向导提示用户选择要添加的表,如图所示。
建立表间的关联
(3)选择完成后,单击“下一步”按 钮,向导显示所选择表的信息,如 左图所示。
(4)单击“完成”按钮,系统打开新建关系图窗 口。在student表的sno字段对应的按钮上按住 鼠标左键,并将其拖动到score表上。此时,会 打开“创建关系”对话框,如右图所示。
插入元组(续)
[例g2]将学生张成民的信息插入到Student表中。
INSERT INTO Student VALUES (‘116’, ‘张成民’, ‘男’,’1979-12-
4’,‘95032') Into子句没有指明属性名,新插入的元组 必须在每个属性列上均有值。
插入操作需遵循完整性规则
RDBMS在执行插入语句时会检查所插元组是否破坏 表上已定义的完整性规则: – 实体完整性 – 参照完整性 – 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束
DELETE FROM Student WHERE Sno= ‘116'
2. 删除多个元组的值 [例g7] 删除所有的学生选课记录。
DELETE FROM score
例 删除表book1。 DROP TABLE book1 注意:DROP TABLE 不能删除由FOREIGN KEY 约束引用 的表。必须先删除引用的 FOREIGN KEY 约束或引用的表。
表的更新语句
• 向表中插入数据 • 在表中修改数据 • 在表中删除数据
一、插入数据
• 两种插入数据方式 1. 插入元组 2. 插入子查询结果
可以一次插入多个元组
一、插ຫໍສະໝຸດ Baidu元组
• 语句格式
INSERT
INTO <表名> [(<属性列1>[,<属性列2 >…)]
VALUES (<常量1> [,<常量2>] …
)
• 功能
将新元组插入指定表中
插入元组(续)
• INTO子句 属性列的顺序可与表定义中的顺序不一致 没有出现的属性列,取空值
二、 修改数据
• 语句格式
UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>]… [WHERE <条件>];
• 功能
修改指定表中满足WHERE子句条件的元组
修改数据(续)
SET子句
指定修改方式
要修改的列 修改后取值
WHERE子句
指定要修改的元组 缺省表示要修改表中的所有元组
修改数据(续)
• 三种修改方式
1. 修改某一个元组的值 2. 修改多个元组的值 3. 带子查询的修改语句
1. 修改某一个元组的值
[例g3] 将学生101的出生日期改为1974-12-1。
UPDATE Student
SET Sbirthday=‘1974-12-1’
WHERE Sno=' 101 '
• 例 删除authors与book表的外码约束。 ALTER TABLE book drop CONSTRAINT fk
• 例 删除表book中表示价格的price字段。 ALTER TABLE book drop column price
3. 删除关联和表
•删除表的语法格式: DROP TABLE table_name
Use test ALTER TABLE book add price int
• 例 实现authors表中authorname(作者 名)不允许取空值的约束。
ALTER TABLE authors alter column authorname char(10) not NULL
• 例 增加authors与book表的外码约束(假设未建立二者的 外码约束)。
2 修改表的结构
操作步骤如下:
(1)在企业管理器的右侧 窗口中,在student表上右 击鼠标,然后选择“设计表” 命令。
(2)在打开的表设计器窗 口中,右击class字段,然 后选择“插入列”命令。
(3)在新插入的列中,输 入nation,设置数据类型为 char,长度为16,如图所示。
3 建立数据库关系图
1建立表
建立表的具体操作步骤如下:
(1)打开企业管理器。展开服 务器组和服务器。
(2)展开“数据库”文件夹,再 展开school文件夹,在“表”选项 上面右击鼠标,选择“新建表”命 令,打开表设计器窗口。
(3)在“列名”栏中依次输入表 的字段名,并设置每个字段的数 据类型、长度等属性。输入完成 后的student表(学生表)如图 所示。
• VALUES子句 提供的值必须与INTO子句匹配
值的个数 值的类型
插入元组(续)
[例g1] 将一个新学生元组(学号:112;姓名:陈冬; 性别:男;出生日期:1978-1-3;所在班级:95032) 插入到Student表中。 INSERT INTO Student (Sno,Sname,Ssex,Sbirthday, class) VALUES (‘112','陈冬','男',‘1978-1-3',’95032’)
三、 删除数据
• 语句格式 DELETE FROM <表名> [WHERE <条件>];
• 功能 删除指定表中满足WHERE子句条件的元组
• WHERE子句 指定要删除的元组 缺省表示要删除表中的全部元组,表的定义仍在 字典中
1. 删除某一个元组的值 [例g6] 删除学号为116的学生记录。
6 表的操作语句
1. 表的创建 使用CREATE TABLE语句来建立表,其语法如下: CREATE TABLE table_name ( column_namel data_type [NULL | NOT NULL] [PRIMARY | UNIQUE] [FOREIGN KEY [(column_name)]] REFERENCES ref_table [(ref_column)]
Select into • 使用Select into创建新表。 例 从book表创建book1表。 select bid,bname into book1 from book
2. 修改表
•ALTER TABLE语句。 •基本语法如下: ALTER TABLE table_name ADD [column_name data_type]
(4)在sno字段上右击鼠标,然后选择“设置主键”命令,即可将sno字段设 置为主键。
(5)表字段设置完成后,单击工具栏上的保存按钮,打开“选择名称”对话 框,输入student,如图所示。
(6)单击“确定”按钮,即可创建student表。
举例
销售管理系统的表设计: • Employee表(员工表) • Goods表(现存货表) • Sell表(已售商品表) • Retreat表(退货表) • Manufacture表(交货厂商表) • User表(用户表)
(5)单击“确定”按钮,即可建立两个表间的关系。 (6)依照上面步骤,建立其他表间的关系,最终的关系图如下图所示。
(7)单击工具栏上的“保存”按钮,打开“另存为”对话框,输入关系图的名 称,如图所示。
(8)单击“确定”,弹出一提示对话框,单击“是”按钮,即可保存建立的关 系图。
4删除表
如果是单个的表,则可以直接删除。其操作步骤如下: (1)在“数据库”文件夹下,展开相应的数据库,然后选择“表”选项。 (2)右击要删除的表,然后选择“删除”命令。 (3)此时,会打开“除去对象”对话框,单击“全部除去”按钮即可删除 选择的表。
如果要删除的表与其他表存在关联,操作步骤如下:
(1)在“数据库”文件夹下, 选择school数据库,选择“表” 选项。
(2)在student表上右击鼠标, 然后选择“删除”命令。
(3)此时,打开“除去对象” 对话框,如图所示。单击其中 的“显示相关性”按钮可显示与 该表相关联的表及其字段。
(4)单击“全部除去”按钮,出现错误信息,如图所示。 (5)在school文件夹下选择“关系图”,然后双击建立的关系图DIAGRAM1。 (6)此时,会打开关系图窗口,在要删除的关系上右击鼠标,然后选择 “从数据库中删除关系”命令,出现对应的“编辑关系图”对话框, (7)此时,student表和score表间的关系会被删除。关闭关系图窗口,在 出现的提示对话框中,单击“是”按钮,保存关系图。并在出现的对话框 中,单击“确定”按钮即可。 (8)返回到企业管理器中,依照删除单个表的方法删除表。
(3)与其他表建立关联 语法格式:
FOREIGN KEY REFERENCE ref_table(ref_column)
例 在数据库test中创建表book和authors。 use test CREATE TABLE authors
( authorid int NOT NULL primary key, authorname char(20), address char(30) ) CREATE TABLE book ( bid int NOT NULL primary key, bname char(8)NOT NULL, authorid int foreign key references authors(authorid) )
ALTER TABLE book
add
foreign key(authorid) references authors(authorid) 或者(9.8.3): ALTER TABLE book
add
CONSTRAINT fk foreign key(authorid) references authors(authorid)
相关文档
最新文档