第三章 数据定义
原创
©著作权归作者所有:来自51CTO博客作者请你打开电视看看的原创作品,请联系作者获取转载授权,否则将追究法律责任
目录
- 数据库的创建与删除
- 创建学生表 student
- 创建课程表 Course
- 创建学生选课表 Sc
- 数据类型
- 检查约束
- 修改基本表
- 删除基本表
- 索引的建立与删除
数据库的创建与删除
创建数据库 creat database 数据库名称
打开数据库 use 数据库名称
删除数据库 drop database 数据库名称
更改数据库名字 sp_renameedp 原数据库名称 更改后数据库名称
创建数据库Student,并打开
create database Student
go
use student
go
创建学生表 student
create table student
(sno char(9) primary key,--学号
sname char(20) unique, --姓名
ssex char(2), --性别
sage smallint, --年龄 smallint为短整型
sdept char(20)); --所在系
创建课程表 Course
create table Course
(Cno char(4)primary key, --课程号
Cname char(40), --课程名
Cpno char(4), --先行课
Ccredit smallint, --学分
foreign key(Cpno)references Course(Cno)); -- Cpon做外键
创建学生选课表 Sc
create table SC
(Sno char(9), --学号
Cno char(4), --课程号
Grade smallint, --成绩
primary key(Sno,Cno), --Sno Cno做主键
foreign key(Sno)references student(Sno), --外键 Sno
foreign key(Cno)references Course(Cno)); --外键 Cno
数据类型
检查约束
primary key --主键约束
foreign key --外键约束
not null --非空约束
check --检查约束
unique --唯一约束
default --默认约束
修改基本表
alter table 表名
exec sp_rename 表名.列名,新表名.新列名 --修改表名列名
add 新列名 数据类型 完整约束型 --增加列 无论基本表是否已有数据 新增列一律为空值
drop 完整性约束名 --删除完整型约束
drop column 列名 --删除列
alter column 列名 数据类型 --更改列数据类型
删除基本表
alter table 表名 [restrict|cascade] --后边两个参数
restrict --限制 如果存在依赖该表的对象则此表不能被删除
cascade --级联 再删除基本表的同时,相关的依赖对象一起删除
--缺省为restrict
索引的建立与删除
建立索引
--主键(primary key)和唯一约束(unquie)列DBMS一般会自动建立索引
unique --表明此索引的每一个索引值只对应唯一的数据记录
clustered /*表示要建立的索引是聚簇索引
在经常查询的列上建立聚簇索引以提高查询效率
一个基本的表最多自能建立一个聚簇索引
经常更新的列不建议建立聚簇索引*/
asc --升序
desc --降序(默认)
--格式如下
create unique/clustered index 索引名 on 表名(列名 asc/desc)
修改索引
alter index 旧索引名 rename to 新索引名
删除索引