### 数据库系统概论实验指导2 - 表的创建与管理 #### 一、表的创建 表是数据库中用于存储数据的基本结构。本节主要介绍两种创建表的方法:通过企业管理器创建表以及使用Transact-SQL语句创建表。 ##### 1.1 利用企业管理器创建表 企业管理器提供了图形化的界面来简化数据库对象的创建过程。用户可以通过点击按钮和填写必要的信息来创建新表。这种方法直观且易于操作,特别适合初学者或者对SQL命令不熟悉的用户。 ##### 1.2 利用Transact-SQL语句创建表 Transact-SQL提供了丰富的命令集来管理数据库,包括表的创建。`CREATE TABLE`命令是最基本也是最重要的命令之一。下面详细介绍该命令的语法及示例: ```sql CREATE TABLE [database_name_.[owner].] table_name( <column_dafinition>|column_name AS computed_column_expression|<table_constraint> ) [ON {filegroup | DEFAULT}] [TEXTIMAGE_ON {filegroup | DEFAULT}] ``` 其中: - `database_name` 是可选参数,表示创建表所在的数据库。 - `table_name` 是必填项,表示新创建的表的名字。 - `<column_dafinition>` 定义了表中每列的数据类型、长度和其他属性。 - `<table_constraint>` 可以定义表级别的约束,如主键、外键、唯一性等。 **示例1**:创建一个名为 `student` 的表,包含学号、姓名、性别、出生日期和系别等字段。 ```sql USE test22; CREATE TABLE student ( sno CHAR(5) NOT NULL, sname CHAR(8) NULL, sex CHAR(2) NULL, sbirth SMALLDATETIME NULL, sdept CHAR(20) NULL ); ``` **示例2**:创建一个名为 `tal` 的表,包含自动增长的主键、默认值为 "Unknown" 的名称字段,以及一个日期不能晚于当前日期的约束。 ```sql USE test22; CREATE TABLE tal ( pid INT IDENTITY(1,1) PRIMARY KEY, [name] CHAR(10) DEFAULT('unknown'), birthday DATETIME CHECK (birthday < GETDATE()) ); ``` 接着可以进行数据的插入和查询: ```sql INSERT INTO tal ([name], birthday) VALUES ('lam', '1977-03-20'); SELECT * FROM tal; ``` #### 二、表的修改 表的修改是指对现有表结构进行调整的过程,这包括但不限于增加、删除或修改列,以及添加或删除约束等操作。 ##### 2.1 利用企业管理器修改表 企业管理器同样提供了修改表结构的功能。用户可以通过企业管理器找到要修改的表,然后选择相应的选项来执行修改操作,例如添加或删除列、修改列的属性等。 ##### 2.2 利用Transact-SQL语句修改表 Transact-SQL提供了`ALTER TABLE`命令来修改表结构。以下是一些常见的修改操作及其语法示例: ```sql ALTER TABLE table { [ALTER COLUMN column_name {new_date_type [NULL|NOT NULL]}] | ADD [<column_definition>] | ADD [<table_constraint>] | DROP [CONSTRAINT constraint_name] | ... } ``` **示例3**:使用Transact-SQL对 `student` 表进行多种修改: 1. **添加新的字段**:例如,在 `student` 表中添加一个“班级”字段,数据类型为字符型。 ```sql ALTER TABLE student ADD 班级 CHAR(10); ``` 2. **删除表中的旧列**:例如,将 `student` 表中的 “sdept” 字段删除。 ```sql ALTER TABLE student DROP COLUMN sdept; ``` 3. **更改表以添加具有约束的列**:例如,给 `student` 表增加 “grade” 字段并加上 CHECK 约束,让其不大于 100。 ```sql ALTER TABLE student ADD grade INT CONSTRAINT chname CHECK (grade <= 100); EXEC sp_help chname; ``` 4. **添加日期约束**:例如,给 `student` 表添加 “birthday” 字段,并且这个日期不能在录入当天的日期后。 ```sql ALTER TABLE student ADD birthday DATETIME CHECK (birthday < GETDATE()); ``` 以上就是关于表的创建与管理的相关知识点,通过这些示例和解释,希望能帮助大家更好地理解和掌握如何使用Transact-SQL进行表的操作。
- lisuozhu2014-07-31很好的资源
- 粉丝: 5
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助