第5章 基本表的创建与管理
SQL Server2005数据库应用技术第5章 创建与管理数据表

5.2.5 使用T-SQL语句重命名表
可以使用sp_rename存储过程对表进行重命 名,基本语法格式如下: sp_rename 原表名 , 新表名
5.2.6 使用T-SQL语句删除表
删除表的语句格式如下: DROP TABLE 表名
5.3 使用完整性约束
5.3.1 数据完整性分类
– 实体完整性:实体完整性也称为行完整性,要 求表中的所有行有一个唯一的标识符,
【例】在数据库“StudentElective”中创建课程表 “Course”。
USE StudentElective GO CREATE TABLE Course (cno char(10) not null, cname varchar(40) not null, credit tinyint )
5.1.2 表的类型
(3)已分区表 已分区表是将数据水平划分成多个单元的表, 这些单元可以分散到数据库中多个文件组里面, 实现对单元中数据的并行访问。
(4)系统表 系统表储存了有关SQL Server服务器的配置、 数据库配置、用户和表对象的描述等系统信息。
5.1.3 设计表
在创建表之前,需要规划并确定表的下列特征:
5.1.2 表的类型
在SQL Server 2005系统中把表分成了4种类 型,即普通表、临时表、已分区表和系统表。
(1)普通表 普通表就是通常提到的数据库中存储数据的 数据表,是最重要、最基本的表。
(2)临时表 临时表是临时创建的、不能永久生存的表。 临时表被创建之后,可以一直存储到SQL Server 实例断开连接为止。
5.2 修改表
5.2.1使用SSMS修改表结构
使用SQL Server Management Studio修改表 结构 的基本操作步骤演示。
5表的创建及管理详解

表的创建及管理1、本次预计讲解的知识点1、数据表的创建及管理;2、表约束的创建及管理3、利用DDL、DML完成一套完整的操作案例;4、序列的使用;5、数据的集合操作;6、PL SQL Developer工具的使用;2、具体内容2.1、表的创建及管理(重点)对于数据库而言实际上每一张表都表示的是一个数据库对象,而在数据库中对象指的就是DDL定义的所有操作,例如:表、视图、索引、序列、约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法:·创建对象:CREATE 对象名称……;、·删除对象:DROP 对象名称.....;·修改对象:ALTER 对象名称......;2.1.1、常用的数据字段每一张数据表实际上都是由若干个字段所组成,而每一个字段都会有其对应的数据类型,而在Oracle之中,常用的数据类型有如下几种:No. 数据类型关键字描述1 字符串V ARCHAR2(n) 其中n表示的是字符串所能保存的最大长度,基本上保存200个左右的内容2 整数NUMBER(n) 表示最多为n位的整数,有时候也可以使用IN代替3 小数NUMBER(n,m) 其中m为小数位,n-m为整数位,有时候也可以使用FLOAT代替4 日期DATE 存放日期-时间5 大文本CLOB 可以存储海量文字(4G),例如存储《三国演义》、《红楼梦》6 大对象BLOB 存放二进制数据,例如:电影、MP3、图片、文字一般开发之中使用最多的:V ARCHAR2()、NUMBER、DATE、CLOB,而对于BLOB字段一般使用较少,首先BLOB可以存放4G的二进制数据,但是存放进去之后,一是数据库过于庞大,二是读取不方便;2.1.2、表的创建如果现在要想进行表的创建,可以使用如下的操作语法:CREAT TABLE 表名称(字段1 数据类型[DEFAULT 默认值],字段2 数据类型[DEFAULT 默认值],.........字段2 数据类型[DEFAULT 默认值]);下面创建一张成员表(member),有如下保存的信息:姓名、年龄、生日、个人简介。
第5章2表的创建与管理

5.5 添加数据行
用如下的INSERT语句向XS1表中插入数据: INSERT INTO XS1 SELECT 学号,姓名,系名 FROM XSDA WHERE 系名='信息' GO
5.5 添加数据行
补充:带有标识列的表的数据行的添加 1、标识列的值自动添加
例:创建一个包含有标识列的表,并为其添加数据行。 创建一个包含有标识列的表,并为其添加数据行。 --创建表 CREATE TABLE dbo.Tool( ID INT IDENTITY NOT NULL PRIMARY KEY, Name VARCHAR(40) NOT NULL ) GO --添加数据行 INSERT INTO dbo.Tool(Name) VALUES ('Screwdriver') INSERT INTO dbo.Tool(Name) VALUES ('Hammer') INSERT INTO dbo.Tool VALUES ('Saw') INSERT INTO dbo.Tool VALUES ('Shovel') GO
5.4 删除表
6-3 删除表 • 删除表时,表的结构定义、表中所有的数据以及表的索引、 触发器、约束等均被永久地从数据库中删除。 • 两种操作方法:
• SSMS中删除表 (演示) SSMS中删除表 演示) • T-SQL语句删除表 SQL语句删除表
语法格式: DROP TABLE table_name [,....n]
60 null
5.5 添加数据行
(2)插入一行的部分列
INSERT [INTO] 表名|视图(列名1,列名2,...,列名n) VALUES(常量1,常量2,…常量n)
第5章 创建和管理数据表

5.3
使用SQL Server 2008管理表
数据表创建以后,在使用过程中可能需要对原先定义的表的 结构进行修改。具体的修改包括更改表名、增加列、删 除列、修改已有列的属性等。
5.3.1
修改表名
下面对上一节创建的person1表进行重命名,首先在SQL Server Management Studio的【对象资源管理器】面板中 展开【userDB1】|【表】分支,选择其中的【 dbo.personl】分支并右击,在弹出的快捷菜单中,单击 【重命名】命令,然后在原表名上输入表的新名称 person2,重命名后。
默认和规则能够为SQL Server数据库提供与约束类似的功能 ,本节将主要介绍如何使用SQL Server 2008来对默认和 规则进行管理。
5.5.1
管理默认
可以使用T-SQL代码创建默认,创建默认的T-SQL命令如下 : CREATE DEFAULT default_name -- default name表示新 建立的默认的名称。 AS constraint expression -- constraint expession指定默认常 量表达式的值。
5.6
小结
在本章中详细介绍了表的创建、修改等各方面的内容。本章 学习的重点是掌握数据表的结构特点,学会使用对象资 源管理器的查询窗口创建数据表。本章的难点是学会在 对象资源管理器中对数据表进行插入、修改和删除数据 的操作,学会使用SQL语句对数据表进行插入、修改和 删除数据的操作,学会定义约束、使用默认和规则。在 下一章,我们将开始索引的学习。
5.5.2
管理规则
规则与CHECK约束的关系相对于默认与DEEAULT约束的关 系一样,规则这种数据库对象的作用与CHECK约束一样, 只不过规则不固定于哪个列,而是在创建好以后,指定插 入数据表列上的有效值,从而确保用户在该列上输入的数 据是在指定的范围之内。 使用语句创建规则的语法如下: CREATE RULE rule_name -- rule_name表示新建的规则名。 AS condition_expression -- condition_expression表示定义规 则的条件。
数据库基础数据表的创建与管理

数据库基础数据表的创建与管理
数据库是现代计算机系统中用于存储和管理数据的重要工具。
在数据库中,数据表是存储数据的基本单位。
本文将介绍数据库基础数据表的创建与管理。
1. 创建数据表
要创建一个数据表,需要定义数据表的名称、每个字段的名称、数据类型和约束条件。
在定义数据表之前,必须确定数据表存储的数据类型和数据结构。
2. 管理数据表
对于已经创建的数据表,需要对数据表进行管理。
管理数据表包括以下方面:
①. 修改数据表结构:需要在数据表已有数据的前提下,对数据表进行结构修改。
例如新增字段、删除字段、修改字段数据类型等。
②. 约束条件管理:对于数据表中的约束条件,需要进行管理和维护。
例如,对于主键和外键约束,需要对其进行管理和维护,保证数据的完整性和一致性。
③. 数据表备份和恢复:为了保证数据的安全性,需要对数据表进行备份和恢复。
备份可以保证数据的安全性,恢复可以保证数据的完整性。
3. 数据表的性能优化
对于大型数据库,需要对数据表进行性能优化。
性能优化包括以下方面:
①. 索引优化:对于经常进行数据检索的数据表,需要对其进行索引优化,提高数据检索的效率。
②. 分区管理:对于大型数据表,可以进行分区管理,将数据表分成多个区域,减少数据操作的压力,提高数据操作的效率。
总之,数据库基础数据表的创建与管理是数据库管理中的重要步骤。
只有对数据表进行良好的管理和维护,才能保证数据库的稳定性和安全性。
表的创建与管理-第5章数据库对象的操作

– (2)种类:系统数据类型和用户自定义数据类型。 SQL Server2005中列的数据类型既可以是系统数
据类型也可以是用户自定义数据类型。
上一页
下一页
返回本章首页
第6章 表的创建与管理
类型
精 小数 长度(字 范围 度 位数 节)
二进 制型
Binary[(n)]
\\
Varbinary[(n)] \ \
N+4
固定
1~8000 为实际输入长度+4
日期型 datetime
\\
8
1753年1月1日到9999年12月31
smalldatetime \ \
4
1900年1月1日到2079年12月31
231-1 为实际输入字符数(ASCII)
230-1 为实际输入字符数(Unicode)
上一页
下一页
返回本章首页
第6章 表的创建与管理
类型
精 小数 长度 范围 度 位数 ( 字节)
整数型 bigint
Int smallint
19 0
8
10 0
4
50
2
-263~263-1
-231~231-1 -215~215-1
Smallint:可以存储从-215(-32,768)到215-1范 围之间的所有正负整数 。
Tinyint:可以存储从0到255范围之间的所有正整 数。
上一页
下一页
返回本章首页
第6章 表的创建与管理
2. 浮点数据类型
浮点数据类型用于存储十进制小数。浮点数值的 数据在SQL Server中采用只入不舍的方式进行存储 。
sqlserver基本表的创建与管理

课程表 (课程号,课程名,学分,学期)
CREATE TABLE Course ( Cno CHAR(6) NOT NULL, Cname CHAR(20) NOT NULL, Credit TINYINT , --学分 Semester CHAR(2), --学期 PRIMARY KEY (CNO) )
FOREIGN KEY ( CNO ) REFERENCES Course(Cno)
)
5.3 修改表结构
• 包括增加、删除和修改列定义 • 实现手段 • 使用企业管理器 • 使用SQL语句
修改表结构语句
ALTER TABLE <表名> ADD <列名 类型> | DROP COLUMN 列名 | ALTER COLUMN <列名 新类型>
第 5 章 基本表的创建与管理
用户自定义数据类型 5.2 创建表 5.3 修改表结构 5.4 删除表
5.1
5.1 用户自定义数据类型
作用:使具有相同语义的属性在不
同地方的定义一致 使用企业管理器
5.2 创建表
创建表就是定义表中各个列的类
型和约束 使
指明本表外码列引用的表及表中的主码列。
[ FOREIGN KEY (<本表列名>)] REFERENCES <外表名>(<外表主码列名>) 例: FOREIGN KEY (sno) REFERENCES 学生表(sno)
第5章创建和管理表

• 例9:创建report4及计算列总分。
• CREATE TABLE report4 ( • 学号 int NOT NULL, • 高数 smallint NOT NULL, • 英语 smallint NOT NULL, • 数据库 smallint NOT NULL, • 总分 as (高数+英语+数据库))
•
人生得意须尽欢,莫使金樽空对月。1 1:32:18 11:32:1 811:32 10/23/2 020 11:32:18 AM
•
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20. 10.2311 :32:181 1:32Oc t-2023- Oct-20
•
加强交通建设管理,确保工程建设质 量。11:32:1811 :32:181 1:32Friday , October 23, 2020
例2: 删除课程号=1的记录 DELETE course WHERE cid=1 ●
5.6 删除表
使用DROP TABLE 语句删除表 语句格式:DROP TABLE <表名>
例:从当前数据库中删除course1表。 DROP TABLE course1
●
5.7 在表中检索数据
1.检索表中的全部信息,即全部列和全部行。 使用语句:
第五章 创建和管理表
• 表是包含数据库中所有数据的数据库对象,用来存 储各种各样的信息。
• 在SQL Server 2000中,一个数据库中最多可以创 建200万个表,用户创建数据库表时,最多可以定 义1024列,每行最多8060字节。在同一数据库的不 同表中,可以有相同的字段,但在同一个表中不允 许有相同的字段,而且每个字段都要求数据类型相 同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
完整性约束条件:数据模型的组成部分,约束数据库中
数据的语义
RDBMS应提供定义数据库完整性约束条件,并把它们
作为模式的一部分存入数据库中
完整性控制机制
检查用户发出的操作请求是否违背了完整性约束条件
违约反应
如果发现用户的操作请求使数据违背了完整性约束条件,
则采取一定的动作来保证数据的完整性。
用户自定义表不同的是,临时表自动删除。
本地临时表:以#开头,对创建本地临时表的那个用户 可见,其余用户不可见。
全局临时表:以##开头,所有用户都可见。
5.2创建表
表是数据库中非常重要的对象,用于存储
用户的数据。
SQL Server 2000中,每个数据库中最多可 以创建200万个表,用户创建数据库表时, 最多可以定义1024列,也就是可以定义 1024个字段。
学号(Sno):普通编码定长字符型,10位长,非空 课程号(Cno):普通编码定长字符型,6位长,非空 成绩(Grade):微整型,允许空
修课类别(XKLB):普通编码定长字符型,4位长
其中:(学号, 课程号)为主码 学号为引用学生表的外码,课程号为引用课程表 的外码。
学生表 (学号,姓名,性别,年龄、所在系)
创建数据库表
SQL Server 2008提供了三种方法创建数据库表:
方法1:企业管理器(Enterprise Manager)创建表;
方法2:Transact-SQL语句中的Create命令创建表;
方法3:使用模板创建表。
用管理器创建表
先按P60的要求创建数据库LoadDB
创建银行表
列定义各项含义
约束定义
① 列取值非空约束
<列名> <类型> NOT NULL
例:sname char(10) NOT NULL
② 表主码约束
在定义列时定义主码(仅用于单列主码)
列定义 PRIMARY KEY 例: SNO char(7) PRIMARY KEY,
在定义完列时定义主码(用于单列或多列主码)
练习
12.下列正确的语句是____ A. set @x = case @y when @y = 1 then 'a' when @y = 2 then 'b' end C、 set @x = case @y when 1 then @x = 'a' when 2 then @x = 'b' end B、set @x = case when @y = 1 then 'a' when @y = 2 then 'b' end D、set @x = case @y when @y = 1 then @x = 'a' when @y = 2 then @x = 'b' end
用Student替换teacher的函数。
4、用函数求“You are a student”字符串中从11开始,长 度为7的子串。
审计署计算机审计中级培训
第5章 基本表的创建与管理
奚 宁 山东财经大学管理科学与工程学院
主要内容
5.1 表概述
5.2 创建表
5.3 管理表 5.4 数据完整性约束的创建和管理 5.5 索引
5.3 管理表
• 包括增加、删除和修改列定义
• 实现手段
• 使用企业管理器 • 使用SQL语句
重新命名表
sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] USE AdventureWorks; GO EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr'; GO
CREATE TABLE Student ( Sno CHAR(10) PRIMARY KEY, Sname CHAR(10) , Ssex CHAR(2) NOT NULL, Sage TINYINT , Sdept VARCHAR(20) )
课程表 (课程号,课程名,学分,学期)
CREATE TABLE Course (
分别用管理器和sql语句创建三张表
学生表 (学号, 姓名, 性别, 年龄, 所在系)
课程表 (课程号, 课程名, 学分, 学期)
学生修课表 (学号, 课程号, 成绩, 修课类别)
分别用管理器和sql语句创建三张表
学生表 Student (学号, 姓名, 性别, 年龄, 所在系) 学号(Sno):普通编码定长字符型,10位长,主码 姓名(Sname):普通编码定长字符型,10位长,允许空 性别(Ssex):普通编码定长字符型,2位长,非空,取 值范围是’男’, ‘女’ 年龄(Sage):微整型,允许空, 范围在16到60 所在系(Sdept):普通编码可变长字符型,20位长
课程表 Course (课程号,课程名,学分,学期)
课程号(Cno):普通编码定长字符型,6位长,主码
课程名(Cname):普通编码可变长字符型,20位长,非空 学分(Credit):微整型,非空 学期(Semester):普通编码定长字符型,2位长
学生修课表 SC (学号,课程号,成绩,修课类别)
用语句创建表
CREATE TABLE <表名> (列定义 | 约束定义) (1ቤተ መጻሕፍቲ ባይዱ表名:表达本表应用语义的字串。
(2)列定义(单列定义序列):单列定义 [,单列 定义,… ]
单列定义由列名、列类型(尺寸)、列取值约束, 列缺省值子句组成(用空格分隔)
① 列名:表达本列属性语义的字串。(必须填写) ② 类型尺寸:本列数据存储规格。(必须填写) ③ 约束关键字: UNIQUE:指明本列数据值不重 NOT NULL:指明本列数据值非空 PRIMARY KEY:指明本列为主码(单列主码) [FOREIGN KEY(外码列名) REFERENCES 主表名 (列名):指明本列为外码 DEFAULT <常数>,指明本列数据缺省值。 CHECK(<取值范围条件>)
回顾
SQL 语言中流程控制语句有哪些,如何定义?
搜索CASE和简单CASE有什么区别,能相互转换吗?
什么是函数,聚合函数对列操作还是对行操作?
字符串函数substr(s1,s2,length)表示什么意思?
Charindex是什么意思? 日期函数DateDiff是什么意思?
练习
1、设SC表中记录成绩的列为:Grade,类型为int,若在查询成绩时, 希望将成绩按‘优’、‘良’、‘中’、‘及格’和‘不及格’ 形式显示,则正确的Case语句是________。
实体完整性定义 举例
例2:将SC表中的Sno,Cno属性组定义为码
CREATE TABLE SC
(Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno,Cno)
5.1 表概述
表是数据库中非常重要的对象,用于存
储用户的数据。
表是关系,即数据库中最基本、最重要 的对象。
分类(1)系统表;(2)用户自定义表; (3)临时表
表概述
系统表:是SQL Server数据库引擎使用
的表。存储了定义服务器配置及其所有
表的数据。
系统表不允许修改,用户不能对其进行 删除、添加等操作。
列的约束
创建表就是定义表中各个列的类型和约束 列的约束进一步限制了列的取值范围,这些约束包括:
主码约束:限制列的取值非空、不重复; 外码约束:限制列的取值受到其他列的取值范围约束; 列的取值范围约束:限制列的取值必须是有意义的,比 如性别为“男”或者“女”; 列取值是否允许为空; 列取值是否允许重复。
删除表
删除表:删除表内数据及表的定义
格式:DROP TABLE <表名> [, …]
例:DROP TABLE Student
5.4 数据库完整性约束的创建与管理
数据完整性是指保证数据正确的特性。
作用包括:
1、提供定义完整性约束条件的机制;
2、提供完整性检查的方法;
3、违约处理。
完整性约束条件定义
数据库完整性
5.4.1 实体完整性
5.4.2 参照完整性
5.4.3 用户定义的完整性
5.4.1 实体完整性定义
关系模型的实体完整性在CREATE TABLE中用 PRIMARY KEY 定义。 单属性的码:
定义为列级约束条件
定义为表级约束条件
定义为表级约束条件
多属性的码:
例1:将Student 表中的Sno属性定义为主码
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT,
Sdept CHAR(20) );
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) PRIMARY KEY (Sno ) );