一、实验目的
1.熟悉SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。
2.掌握查询分析器中用DDL语言对表的增加、删除和改动。
二、实验仪器
计算机、SQL Server 2019软件,U盘(学生自备)。
三、实验原理
在企业管理器中实现对数据库的管理及使用T-SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE来实现对数据表的创建、修改及删除。
四、实验内容与步骤
打开数据库SQL Server 2019的查询分析器,用SQL语言实现如下操作
1.在xscj数据库中用Create Table建表kc,表结构如下图所示:
kc
字段名 | 类型 | 长度 | 含义 |
cno | char | 5 | 课程编号 |
cname | varchar | 20 | 课程名 |
Ctime | tinyint | 1 | 学时 |
Ccredit | int | 学分 |
2.用企业管理器向表中插入记录
3.在xscj数据库中用Create Table建表xs_kc,表结构如下所示:
xs_kc
字段名 | 类型 | 长度 | 含义 |
sno | Char | 6 | 学生编号 |
cno | Char | 5 | 课程编号 |
grade | int | 成绩 |
4.向xs 表增加“入学时间”列(列名为xs_kcome,日期型)
5.将年龄的数据类型改为微整型。
6.向xs 表增加“备注”列(列名为Note,字符型)
7.向xs 表增加“奖学金等级”列(列名为MoneyGrade,字符型)
8.在xs 表中删除名为“奖学金等级”的列
五、小结
本次实验熟悉掌握了SQL的数据定义语言、数据操纵语言、数据控制语言。除了使用企业管理器外还可以使用CREATE TABLE、ALTER TABLE及DROP TABLE来实现对数据表的创建、修改及删除。其中数据表的修改语句使用的还不够灵活运用,尤其是在增加列时,忽略了列的类型,导致后续的实验出了问题,幸好及时更正并顺利完成了后续实验。
实验报告:
- 实验目的
1.熟悉SQL的DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)。
2.掌握查询分析器中用DDL语言对表的增加、删除和改动。
- 实验内容及步骤
打开数据库SQL Server 2019的查询分析器,用SQL语言实现如下操作
1.在xscj数据库中用Create Table建表kc,表结构如下图所示:
kc
字段名 | 类型 | 长度 | 含义 |
cno | char | 5 | 课程编号 |
cname | varchar | 20 | 课程名 |
Ctime | tinyint | 1 | 学时 |
Ccredit | int | 学分 |
代码:
create table kc
(cno char(5),
cname varchar(20),
Ctime tinyint,
Ccridit int
);
2.用企业管理器向表中插入记录
3.在xscj数据库中用Create Table建表xs_kc,表结构如下所示:
xs_kc
字段名 | 类型 | 长度 | 含义 |
sno | Char | 6 | 学生编号 |
cno | Char | 5 | 课程编号 |
grade | int | 成绩 |
代码:
create table xs_kc
( sno char(6),
cno char(5),
grade int
);
4.向xs 表增加“入学时间”列(列名为xs_kcome,日期型)
代码:alter table xs add xs_kcome date;
5.将年龄的数据类型改为微整型。
代码:alter table xs alter column sbirth tinyint;
6.向xs 表增加“备注”列(列名为Note,字符型)
代码:alter table xs add note varchar(10);
7.向xs 表增加“奖学金等级”列(列名为MoneyGrade,字符型)
代码:alter table xs add MoneyGrade char(2);
8.在xs 表中删除名为“奖学金等级”的列
代码:alter table xs drop column MoneyGrade;
- 数据记录及处理
以上操作内容使用SQL语句编程并运行成功后,将程序进行记录,并写在报告纸上。
1.
create table kc
( cno char(5),
cname varchar(20),
ctime tinyint,
ccredit int
);
3.
create table xs_kc
( sno char(6),
cno char(5),
grade int
);
4.
alter table xs add xs_kcome date;
5.
alter table xs alter column sbirth tinyint;
6.
alter table xs add note varchar(10);
7.
alter table xs add MoneyGrade char(2);
8.
alter table xs drop column MoneyGrade;
- 思考题
- 数据类型char、nchar、varchar、nvarchat的区别是什么?
答:(1)、长度不同
①、char类型:char类型的长度固定,占用更多的存储空间。
②、varchar类型:varchar类型的长度不固定,占用更少的存储空间。
③、nchar类型:nchar类型的长度固定,占用更多的存储空间。
④、nvarchar类型:nvarchar类型的长度不固定,占用更少的存储空间。
(2)、字节不同
①、char类型:char类型所有的字符使用一个字节表示。
②、varchar类型:varchar类型所有的字符使用一个字节表示。
③、nchar类型:nchar类型所有的字符使用两个字节表示。
④、nvarchar类型:nvarchar类型所有的字符使用两个字节表示。
2.数据库和数据表的联系和区别是什么?
答:一个数据库中可以存放多个数据表 ,数据库用来存放数据表 数据表则存放着某类事物的详细数据。
- 实验过程中遇到的问题及解决方法
本次实验中,忽略了列名的类型导致了错误,因为列名的不同会导致后续的插入数据过程出错,所以我查阅了书,找到了更改列名数据类型的语句,从而将所需更改的列名变为自己需要的数据类型。除此之外,刚开始运行语句操作后不理解“1行受影响”是什么意思,通过询问同学和上网提问的方法明白了就是我的语句使得原来表有一行发生了改变。