1 / 19

第 6 章 数据表的创建与管理

第 6 章 数据表的创建与管理. 本章内容. 6 .1 数据表的建立 6 .2 数据表的修改. 6 .1 数据表的建立. 数据类型 SQL Server支持4种基本数据类型:字符和二进制数据类型、日期时间数据类型、逻辑数据类型、数字数据类型,用于各类数据值的存储、检索和解释。 1.系统数据类型 (1)精确数值类型 精确数值数据类型用于存储有小数点且小数点后位数确定的实数 。 格式: decimal[(p[, s])] numeric[(p[, s])] (2)近似数值类型 用于表示浮点数值数据的近似数值数据类型。. 6 .1 数据表的建立.

brady-baird
Télécharger la présentation

第 6 章 数据表的创建与管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 数据表的创建与管理

  2. 本章内容 • 6.1 数据表的建立 • 6.2 数据表的修改

  3. 6.1 数据表的建立 • 数据类型 SQL Server支持4种基本数据类型:字符和二进制数据类型、日期时间数据类型、逻辑数据类型、数字数据类型,用于各类数据值的存储、检索和解释。 1.系统数据类型 (1)精确数值类型 精确数值数据类型用于存储有小数点且小数点后位数确定的实数 。 格式: decimal[(p[, s])] numeric[(p[, s])] (2)近似数值类型 用于表示浮点数值数据的近似数值数据类型。

  4. 6.1 数据表的建立 (3)日期和时间类型 日期时间数据类型用于存储日期和时间数据。SQL Server支持两种日期时间数据类型:datetime和smalldatetime。 (4)字符串类型 字符数据类型用于存储汉字、英文字母、数字符号和其他各种符号。 • char数据类型 • varchar数据类型 • text数据类型

  5. 6.1 数据表的建立 (5)Unicode字符串类型 SQL Server允许使用多国语言,采用Unicode标准字符集。为此SQL Server提供多字节的字符数据类型:nchar(n)、nvarchar(n)和ntext。 (6)二进制字符串类型 SQL Server二进制数据类型用于存储二进制数或字符串。 SQL Server的3种有效二进制数据类型: • binary数据类型 • varbinary[(n)]数据类型 • image数据类型

  6. 6.1 数据表的建立 (7)其他数据类型 1)cursor。游标是变量或存储过程参数OUTPUT的一种数据类型,这些参数包含对游标的引用。 2)sql_variant:可变数据类型。该类型的变量可用来存放大部分SQL Server数据类型的值,最大长度为8016字节,不支持text、ntext、timestamp和sql_variant类型。 3)table:表类型。这是一种特殊的数据类型,存储供以后处理的结果集。 4)Timestamp:时间戳数据类型,用于自动记录插入或删除操作的时间。 注意:服务器不允许用户指定时间戳值。 5)uniqueidentifier:GUID类型(Global Unique IDentifier, 全局惟一标识符)。 2. 用户定义数据类型

  7. 6.1 数据表的建立 • 使用图形工具创建数据表 • 使用Transact-SQL语句创建表 语法格式:  CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name ( { <column_definition> } <table_constraint> ] [ ,...n ] )

  8. 6.1 数据表的建立 【例6.1续】利用Transact-SQL创建教学数据库中的三张表。 CREATE TABLE student ( SNO CHAR(4) PRIMARY KEY, SNAME NCHAR(10) NOT NULL, SEX CHAR(1), AGE SMALLINT, CHECK (SEX=ꞌFꞌ OR SEX=ꞌMꞌ), CHECK (AGE BETWEEN 18 AND 25) ) CREATE TABLE course ( CNO CHAR(4), CNAME CHAR(10) NOT NULL, CREDIT SMALLINT, PRIMARY KEY (CNO), CHECK (CREDIT 1 AND 10) )

  9. 6.1 数据表的建立 CREATE TABLE s_c ( SNO CHAR(4), CNO CHAR(4), GRADE SMALLINT, PRIMARY KEY (SNO,CNO), FOREIGN KEY SNO REFERENCES student(SNO), FOREIGN KEY CNO REFERENCES course(CNO), CHECK (GRADE 0 AND 100) )

  10. 6.2 数据表的修改 • 查看数据表 【例6.2】查看系统当前所有对象的信息。   单击工具栏上【新建查询】按钮,输入以下代码:      USE master      GO      EXEC sp_help      GO 【例6.3】查看教学数据库中学生表的信息。      USE teaching      GO      EXEC sp_help 'student'      GO

  11. 6.2 数据表的修改 • 使用图形工具修改数据表 • 使用Transact-SQL语句修改表 语法格式: ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name { ALTER COLUMN column_name { [ type_schema_name. ] type_name [ ( { precision [ , scale ] | max } ) ] [ NULL | NOT NULL ] } | [ WITH { CHECK | NOCHECK } ] | ADD { <column_definition> | <table_constraint> } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column_name } [ ,...n ] } [ ; ]

  12. 6.2 数据表的修改 【例6.4】为教学数据库中的表student添加一个允许空值的列PLACE,而且没有通过DEFAULT定义提供的值。在该新列中,每一行都将有NULL值。 USE teaching GO ALTER TABLE student ADD PLACE VARCHAR(20) NULL GO EXEC sp_help student GO

  13. 6.2 数据表的修改 【例6.5】修改表student以删除列PLACE。   USE teaching   GO   ALTER TABLE student DROP COLUMNPLACE   GO   EXEC sp_help student   GO

  14. 6.2 数据表的修改 【例6.6】将表student中列PLACE的数据类型由VARCHAR(20)更改为VARCHAR(10)。 USE teaching GO ALTER TABLE student ALTER COLUMN PLACE VARCHAR(10) GO EXEC sp_help student GO

  15. 6.2 数据表的修改 【例6.7】为表student添加一个包含UNIQUE约束的新列SCARDID。 USE teaching GO ALTER TABLE student ADD SCARDID CHAR(18) NULL CONSTRAINT my_constraint UNIQUE GO EXEC sp_help student GO

  16. 6.2 数据表的修改 【例6.8】从表student中删除UNIQUE约束。  USE teaching  GO ALTER TABLE student DROP CONSTRAINT my_constraint  GO EXEC sp_help student  GO

  17. 6.2 数据表的修改 • 使用图形工具删除数据表 • 使用Transact-SQL语句删除表 语法格式如下:   DROP TABLE  [ database_name . [ schema_name ] . | schema_name . ] table_name [ ,...n ] [ ; ] 其中,table_name是要删除的表名。 注意: (1) 定义有外键约束的表必须先删除外键约束,才能删除。 (2) 系统表不能使用DROP TABLE语句删除。

  18. 6.2 数据表的修改 【例6.9】从当前数据库中删除test1表及其数据和索引。 DROP TABLE test1 【例6.10】删除teaching数据库中的test2表。 DROP TABLE teaching.dbo.test2

  19. 本章小结 (1)表的相关概念:表是数据库中数据的实际存储处所,每个表代表一个实体。表由行和列组成,每行标识实体的一个个体,每列代表实体的一个属性。 (2)数据类型:数据类型描述并约束了列中所能包含的数据的种类、所存储值的长度或大小、数字精度和小数位数(对数值数据类型)。 (3)空值:未对列指定值时,该列将出现空值。空值不同于空字符串或数值零,通常表示未知。空值会对查询命令或统计函数产生影响,应尽量少使用空值。 (4)约束:约束是数据库自动保持数据完整性的机制,它是通过限制列中数据、行中数据和表之间数据来保持数据完整性。SQL Server 2005支持Not Null、Default、Check、Primary Key、Foreign Key、Unique 6种约束。 (5)可以使用图形工具和Transact-SQL语句创建表并对表进行维护,包括修改和删除等操作。

More Related