SQL Server2008学习笔记(四)--数据表的基本操作(上)
一、概述
表是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