数据库笔记06:创建并管理数据表
【摘要】
目录
/* 预备任务:创建数据库“选课”,包含一个数据文件与一个日志文件 */
/* 任务:创建数据表(CREATE TABLE) */
--1. 创建Department表(表设计参看P127表6-1)
--2. 创建Course表(表设计参看P127表6-2)
--3. 创建Class表(表设计参看P127...
目录
/* 预备任务:创建数据库“选课”,包含一个数据文件与一个日志文件 */
--1. 创建Department表(表设计参看P127表6-1)
--4. 创建Student表(表设计参看P127表6-4)
--1. 给Student表增加两个字段:birthday 日期时间型,memo 字符型,50位
/*******************************
第六单元:创建并管理数据表
********************************/
/* 预备任务:创建数据库“选课”,包含一个数据文件与一个日志文件 */
CREATE DATABASE 选课
ON PRIMARY
(
NAME = 选课_data ,
FILENAME = 'D:\选课_data.mdf' ,
SIZE = 5MB ,
MAXSIZE = 50MB ,
FILEGROWTH = 10 %
)
LOG ON
(
NAME = 选课_log ,
FILENAME = 'D:\选课_log.ldf' ,
SIZE = 2MB ,
MAXSIZE = 20MB ,
FILEGROWTH = 2MB
);
USE 选课
GO
/* 任务:创建数据表(CREATE TABLE) */
--1. 创建Department表(表设计参看P127表6-1)
CREATE TABLE Department
(
DepartNo nvarchar ( 2 ) NOT NULL PRIMARY KEY ,
DepartName nvarchar ( 20 ) NOT NULL
);
--2. 创建Course表(表设计参看P127表6-2)
CREATE TABLE Course
(
CouNo nvarchar ( 3 ) NOT NULL PRIMARY KEY ,
CouName nvarchar ( 30 ) NOT NULL ,
Kind nvarchar ( 8 ) NOT NULL ,
Credit decimal ( 2 , 1 ) NOT NULL ,
Teacher nvarchar ( 20 ) NOT NULL ,
DepartNo nvarchar ( 2 ) NOT NULL ,
SchoolTime nvarchar ( 10 ) NOT NULL ,
LimitNum decimal ( 5 , 0 ) NOT NULL ,
WillNum decimal ( 5 , 0 ) NOT NULL ,
ChooseNum decimal ( 5 , 0 ) NOT NULL
);
--3. 创建Class表(表设计参看P127表6-3)
CREATE TABLE Class
(
ClassNo nvarchar ( 8 ) NOT NULL PRIMARY KEY ,
ClassName nvarchar ( 20 ) NOT NULL ,
DepartNo nvarchar ( 2 ) NOT NULL
);
--4. 创建Student表(表设计参看P127表6-4)
CREATE TABLE Student
(
StuNo nvarchar ( 8 ) NOT NULL PRIMARY KEY ,
StuName nvarchar ( 10 ) NOT NULL ,
Pwd nvarchar ( 8 ) NOT NULL ,
ClassNo nvarchar ( 8 ) NOT NULL
);
--5. 创建StuCou表(表设计参看P127表6-5)
CREATE TABLE StuCou
(
StuNo nvarchar ( 8 ) NOT NULL ,
CouNo nvarchar ( 3 ) NOT NULL ,
WillOrder tinyint NOT NULL ,
State nvarchar ( 2 ) NOT NULL DEFAULT '报名' ,
RandomNum nvarchar ( 50 ) NULL ,
PRIMARY KEY (StuNo ,CouNo )
);
--6. 创建Test表(演示标识列的使用)
CREATE TABLE Test
(
id int NOT NULL IDENTITY ( 201501 , 1 ),
name nvarchar ( 8 ) NOT NULL ,
gender nvarchar ( 1 ) NOT NULL ,
age smallint NOT NULL
);
--7. 给Test表插入几条记录,不用管标识列
INSERT INTO Test (name ,gender ,age ) VALUES ( '张三丰' , '男' , 18 );
INSERT INTO Test (name ,gender ,age ) VALUES ( '李晓霞' , '女' , 19 );
INSERT INTO Test (name ,gender ,age ) VALUES ( '甄云文' , '女' , 18 );
INSERT INTO Test (name ,gender ,age ) VALUES ( '杨过' , '男' , 20 );
--8. 查看Test表的全部记录
SELECT *
FROM Test ;
/* 任务:查看表结构 */
--1. 查看Student表结构
sp_help Student
--2. 查看Course表结构
sp_help Course
--3. 查看所有表的概况
sp_help
/* 任务:修改表结构 */
--1. 给Student表增加两个字段:birthday 日期时间型,memo 字符型,50位
ALTER TABLE Student
ADD birthday datetime NULL , memo nvarchar ( 50 ) NULL ;
--2. 查看修改过的Student表结构
sp_help Student
--3. 删除Student表的birthday字段
ALTER TABLE Student
DROP COLUMN birthday ;
--4. 查看修改过的Student表结构
sp_help Student
--5. 修改memo字段长度为30位
ALTER TABLE Student
ALTER COLUMN memo nvarchar ( 30 ) NOT NULL ;
--6. 查看修改过的Student表结构
sp_help Student
--7. 修改“memo”为“beizhu”
sp_rename 'Student.memo' , 'beizhu' , 'COLUMN'
--8. 查看修改过的Student表结构
sp_help Student
/******************************************
知识拓展:临时表(本地与全局)与表变量
*******************************************/
/* 任务:创建一个本地临时表 #t */
CREATE TABLE #t
(
StuNo nvarchar ( 8 ) NOT NULL ,
StuName nvarchar ( 10 ) NOT NULL
)
--1. 往临时表#t里添加一条记录
INSERT INTO #t VALUES ('00000001','李晓丹')
--2. 查看临时表#t的内容
SELECT *
FROM #t
--3. 给Student表插入几条记录
INSERT INTO Student VALUES ( '00000002' , '李毓莲' , 'qwerty' , '20000001' , '优秀' );
INSERT INTO Student VALUES ( '00000003' , '王晓云' , 'rttfty' , '20000001' , '良好' );
INSERT INTO Student VALUES ( '00000004' , '吴鑫文' , 'qddrty' , '20000001' , '中等' );
INSERT INTO Student VALUES ( '00000005' , '郑智化' , 'qwehhy' , '20000001' , '及格' );
--4. 将Student表的数据插入到临时表#t
INSERT #t
SELECT StuNo ,StuName
FROM Student
--5. 查看临时表#t的内容
SELECT *
FROM #t
/* 任务:创建表变量 @t */
DECLARE @t
TABLE (StuNo nvarchar ( 8 ) NOT NULL , StuName nvarchar ( 10 ) NOT NULL )
--1. 在表变量@t里插入一条记录
INSERT INTO @t VALUES ( '20000009' , '王韵霞' )
--2. 查看表变量@t的内容
SELECT * FROM @t
--3. 将Student表的内容插入表变量@t
INSERT @t
SELECT StuNo ,StuName
FROM Student
--4. 查看表变量@t的内容
SELECT * FROM @t
文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。
原文链接:howard2005.blog.csdn.net/article/details/79447965
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)