一、概述

表是SQL Server数据库中最重要,最基本的数据库对象,数据库中的所有数据都存放在表中。在数据数据库中,表是按照行和列的表格结构存储数据的。

在SQL Server数据库中表有一下几个特点:

1、表通常代表一个实体

2、表是由行和列组成

3、行值在同一个表中具有唯一性

4、列名在用一个表中具有唯一性

5、行和列的无序性

二、数据表的操作

1、创建一个基本的数据表(且设置主键)



1 use 学生成绩管理系统
 2 create table 学生信息
 3 (
 4 学号 nvarchar(50) not null primary key,
 5 姓名 nchar(10) not null,
 6 性别 nchar(10) not null,
 7 出生日期 date null,
 8 民族 nchar(10) null,
 9 所属班级 nchar(10) null,
10 班级地址 ntext null
11 )



2、创建外键



1 use 学生信息管理系统
 2 ceate table 班级信息
 3 (
 4 班级编号 nchar(10) not null primary key,
 5 班级名 nchar(10),
 6 班级人数 int null,
 7 所属系别 nchar(10) not null,
 8 辅导员 nchar(10) not null,
 9 foreign key 所属系别 references 系别信息(系别编号),
10 foreign key 辅导员 references 辅导员信息(辅导员信息)
11 )



3、创建非空列



1 use 学生信息管理系统
 2 create table 辅导员信息
 3 (
 4 辅导员编号 nchar(10) not null primary key,
 5 姓名 nchar(10) not null,
 6 性别 nchar(10) not null,
 7 年龄 int null,
 8 民族 nchar(10) null,
 9 籍贯 nchar(10) null,
10 联系电话 nvarchar(50) null
11 )



4、创建默认值定义



1 use 学生信息管理系统
 2 create table 成绩信息
 3 (
 4 成绩编号 int not null primary key,
 5 考生编号 nvarchar(50) not null,
 6 考试编号 nchar(10) not null,
 7 课程编号 nchar(10) not null,
 8 分数 int null default(0),
 9 foreign key 学生编号 references 学生信息(学号),
10 foreign key 考试编号 references考试信息(考试编号),
11 foreign key 课程编号 references 课程信息(课程编号)
12 )



5、创建check约束列



1 use 学生成绩管理系统
 2 create table 教师信息
 3 (
 4 教师编号 nchar(10) not null primary key,
 5 姓名 nchar(10) not null,
 6 性别 nchar(10) not null check(性别 in ('男','女')),
 7 年龄 int null,
 8 民族 nchar(10) null,
 9 籍贯 ntext null,
10 联系电话 nvarchar(50) null
11 )



 6、创建自动编号列



1 use 学生成绩管理系统
2 create table 系别信息
3 (
4 系别信息 ncahr(10) identity(0,1) primary key not null,
5 系别名称 nvarchar(50) null
6 )



7、创建唯一列



1 use 学生成绩管理系统
 2 create table 辅导员信息
 3 (
 4 辅导员编号 nchar(10) not null primary key,
 5 姓名 nchar(10) not null unique,
 6 性别 int null,
 7 民族 nchar(10) null,
 8 籍贯 nchar(10) null,
 9 联系电话 nvarchar(50) null unique
10 )



8、删除数据表



1 use 学生成绩管理系统
2 go
3 drop table 学生信息



1 use 学生成绩管理系统
2 go
3 delete 学生信息



注意:使用drop table语句删除的是表本身,即将表和表中的数据全部删除。如果只是删除表中的数据,而保留表本身,那么就使用delete table语句。
9、修改表的属性



1 use 学生成绩管理系统
2 alter table 学生信息
3 alter column 姓名 nvarchar(20) null



10、添加删除表列



1 use 学生成绩管理系统
2 go
3 alter table 课程信息
4 add 上课时间 datetime



1 use 学生成绩管理系统
2 go
3 alter table 课程信息
4 drop column 是否必修 cascade