数据库笔记06:创建并管理数据表

目录

/* 预备任务:创建数据库“选课”,包含一个数据文件与一个日志文件 */

/* 任务:创建数据表(CREATE TABLE) */

--1. 创建Department表(表设计参看P127表6-1)

--2. 创建Course表(表设计参看P127表6-2)

--3. 创建Class表(表设计参看P127表6-3)

--4. 创建Student表(表设计参看P127表6-4)

--5. 创建StuCou表(表设计参看P127表6-5)

--6. 创建Test表(演示标识列的使用)

--7. 给Test表插入几条记录,不用管标识列

--8. 查看Test表的全部记录

/* 任务:查看表结构 */

--1. 查看Student表结构

--2. 查看Course表结构

--3. 查看所有表的概况

/* 任务:修改表结构 */

--1. 给Student表增加两个字段:birthday 日期时间型,memo 字符型,50位

--2. 查看修改过的Student表结构

--3. 删除Student表的birthday字段

--4. 查看修改过的Student表结构

--5. 修改memo字段长度为30位

--6. 查看修改过的Student表结构

--7. 修改“memo”为“beizhu”

--8. 查看修改过的Student表结构

/* 任务:创建一个本地临时表 #t */

--1. 往临时表#t里添加一条记录

--2. 查看临时表#t的内容

--3. 给Student表插入几条记录

--4. 将Student表的数据插入到临时表#t

--5. 查看临时表#t的内容

/* 任务:创建表变量 @t */

--1. 在表变量@t里插入一条记录

--2. 查看表变量@t的内容

--3. 将Student表的内容插入表变量@t

--4. 查看表变量@t的内容


/*******************************
  第六单元:创建并管理数据表
********************************/
 

/* 预备任务:创建数据库“选课”,包含一个数据文件与一个日志文件 */

 
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
发布了421 篇原创文章 · 获赞 411 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/howard2005/article/details/79447965