《数据库原理》课实验报告
实验一 创建数据库和表
1.1 实验目的
1. 掌握MySQL下创建、修改、删除数据库和表的方法;
2. 掌握查看数据库及其构成、数据库文件、数据库引擎、数据库对象、字符集、校对规则等应用;
3. 掌握数据库对象命名规则、数据类型的选择、索引使用规则等。
1.2 实验内容
1. 创建数据库stu后,查看数据库,查找数据库文件所在位置,修改数据库stu字符集为gbk,校对
规则为gbk_chinese_ci;
打开命令窗口输: mysql -h localhost -u root -p
创建数据库: create database stu;
查看数据库文件位置:show global variables like “%datadir%”;
修改数据库字符集及校队规则:alter database stu character set gbk collate gbk_chinese_ci;
2. 使用数据库stu,创建如课本P79图3.2所示的三个表;
(一)、创建student表
Create table stu.stu_student(
Sno char(9) not null,
Sname char(20) null,
Ssex char(2) null,
Sage smallint null,
Sdept char(20) null,
Primary key(sno),
Unique index sname_unique(sname asc)visible);
添加数据到student表
Insert into stu.stu_student (sno, sname, ssex, sage, sdept)
VALUES (‘201215121’, ‘李勇’, ‘男’, ‘20’, ‘CS’),
(‘201215122’, ‘刘晨’, ‘女’, ‘19’, ‘CS’),
(‘201215123’, ‘王敏’, ‘女’, ‘18’, ‘MA’),
(‘201215125’, ‘张立’, ‘男’, ‘19’, ‘IS’);
(二)、创建课程表:
Create table stu.stu_course(
Cno char(4) not null,
Cname char(40) not null,
Cpno char(4) not null,
Ccredit smallint null,
Primary key(cno));
添加数据到course表:
insert into stu.stu_course(cno,cname,cpno,ccredit) values('1','数据库','5','4');
(cno,cname,cpno,ccredit) values('2','数学','2','2'),
(cno,cname,cpno,ccredit) values('3','信息系统','1','4'),
(cno,cname,cpno,ccredit) values('4','操作系统','6','3'),
(cno,cname,cpno,ccredit) values('5','数据结构','7','4'),
(cno,cname,cpno,ccredit) values('6','数据处理','2','2'),
(cno,cname,cpno,ccredit) values('7','PASCAL语言','6','4');
(三)、创建sc表:
Create table stu.stu_sc(
Sno char(9) not null,
Cno char(4) not null,
Grade smallint null,
Primary(key(sno,cno));
将数据添加到sc表:
Insert into stu.stu_sc(sno,cno,grade) values(‘201215121’,’1’,’92’),
(‘201215121’,’2’,’92’),
(‘201215121’,’3’,’92’),
(‘201215122’,’2’,’92’),
(‘201215122’,’3’,’92’);
3. 复制表Student的表结构给新表sbak,修改Sage,列名为Syear,数据类型为datetime;
复制表student的表结构给sbak: create table stu.sbak like stu.stu_student;
修改Sage为Syear: ALTER TABLE stu.sbak CHANGE Sage Syear SMALLINT;
修改数据类型:ALTER TABLE stu.sbak MODIFY COLUMN Syear datetime;
4. 查看表及sbak的表结构;
查看表及表结构:desc stu.sbak;
5. 在表sbak上的Sdept列创建索引,并查看索引详情。 |
创建索引并查看索引详情:
Alter table stu.sbak add index sbak_1 (sdept);
show index from stu.sbak;
1.3 实验心得
经过一段时间的《数据库系统概论》的学习,我基本上掌握了创建数据库以及对数据库的操作的基础知识。 在本次创建数据库和表的实验中,我深刻意识到理论知识还要经过实践操作才会有更深的狸解。在创建表的时候,出现了"此数据库缺少一个或多个使用数据库关系图所需的支持对象",这时我要考虑是否创建它们。后来下一步操作中我在输入表的数据类型输入错误,所以就删除了错误的表,对数据进行重新输入,但在后来查阅料时我才认识们原有的表虽然删除了,数据和表名还是保存在数据库系统中的,重新建立的表的表名就和之前的重名了,需要区别于第一个表。 其次是在将数据导入到相应的表中,我也只会一行行的输入数据,以后通过自己学习能够一次性导入多行多列数据,这样在实际生活工作中才能真正.快捷,的解决生活工作等大数据的问题。 此次创建数据库和表的实验让我对《数据库原理》这门课程获有了更新的感悟和认识,我会在以后前学习和实践中不断完善、提升自己。 |