课题 :实验二 数据库和表的管理*

目的要求 :
1. 了解MySQL数据库的逻辑结构和物理结构的特点。
2. 学会使用SQL语句创建、选择、删除数据库。
3. 学会使用SQL语句创建、修改、删除表。
4. 学会使用SQL语句对表进行插入、修改和删除数据操作。
5. 了解MySQL的常用数据类型。
教学内容:

  1. SQL语句创建、选择、删除数据库。
  2. SQL语句创建、修改、删除表。
  3. SQL语句对表进行插入、修改和删除数据操作。
    重点难点 建库、建表、插入、删除、修改数据的SQL语句。

一、上机内容

  1. 使用SQL语句创建数据库studentsdb。
CREATE DATABASE studentsdb;
use studentsdb;
  1. 使用SQL语句选择studentsdb为当前使用数据库。
use studentsdb;

3.使用SQL语句在studentsdb数据库创建数据表student_info、curriculum、grade,三个表的数据结构如表1-表3所示。

CREATE TABLE student_info(
sno char(4) PRIMARY KEY,
sname VARCHAR(8) not null,
ssex char(2) not null DEFAULT '男' CHECK (ssex in('男','女')),
sdept VARCHAR(20),
sbirth date,
snative VARCHAR(50)
)DEFAULT CHARSET=utf8;CREATE TABLE curriculum(
cno char(4) PRIMARY KEY,
cname VARCHAR(50),
credit int CHECK(credit BETWEEN 1 and 6),
pno char(4));CREATE TABLE grade(
sno CHAR(4),
cno char(4),
score int CHECK(score BETWEEN 0 AND 100),
PRIMARY KEY(sno,cno));

表一
列名 数据类型 允许NULL值 主键 约束 sno char(4) 否 是
sname varchar (8) 否 否
ssex char(2) 是 否 Check 约束‘男’‘女’默认值‘男’
sdept varchar(20) 是 否
sbirth date 是 否
snative varchar(50) 是 否

表2 course表结构
列名 数据类型 允许NULL值 主键 约束
课程编号cno char(4) 否 是
课程名称cname varchar(50) 是 否
学分credit int 是 否 在1-6之间
先修课pno char(4) 是 否

表3 grade表结构
列名 数据类型 允许NULL值 主键
学号sno char(4) 否 是
课程编号cno char(4) 否 是
分数score int 是 否 在0-100之间

4.使用SQL语句INSERT向studentsdb数据库的student、course、grade表插入数据,各表数据如表4-表6所示。


insert into student_info (sno,sname,ssex,sdept,sbirth,snative) VALUES
("0001","张青平","男","计算机",'2000-10-01',"衡阳市东风路77号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0002","刘东阳","男","软件",'1998-12-09',"东阳市八一北路33号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0003","马晓夏","女","英语",'1995-05-12',"长岭市五一路763号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0004","钱忠理","男","经管",'1994-09-23',"滨海市洞庭大道279号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0005","孙海洋","男","计算机",'1995-04-03',"长岛市解放路27号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0006","郭小斌","男","计算机",'1997-11-10',"南山市红旗路113号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0007","肖月玲","男","软件",'1996-12-07',"东方市南京路11号");
Insert into student_info (sno,sname,ssex,sdept,sbirth,snative) values
("0008","张玲珑","女","艺术",'1997-12-24',"滨江市新建路97号");insert into curriculum (cno,cname,credit,pno) VALUES
("0001","计算机应用基础","2"," ");
insert into curriculum (cno,cname,credit,pno) VALUES
("0002","C语言程序设计","4"," ");
insert into curriculum (cno,cname,credit,pno) VALUES
("0003","数据库原理及应用","4"," ");
insert into curriculum (cno,cname,credit,pno) VALUES
("0004","英语","4"," ");
insert into curriculum (cno,cname,credit,pno) VALUES
("0005","高等数学","4"," ");insert into grade (sno,cno,score) VALUES
("0001","0001",80);
insert into grade (sno,cno,score) VALUES
("0001","0002",91);
insert into grade (sno,cno,score) VALUES
("0001","0003",88);
insert into grade (sno,cno,score) VALUES
("0001","0004",85);
insert into grade (sno,cno,score) VALUES
("0001","0005",77);
insert into grade (sno,cno,score) VALUES
("0002","0001",73);
insert into grade (sno,cno,score) VALUES
("0002","0002",68);
insert into grade (sno,cno,score) VALUES
("0002","0003",80);
insert into grade (sno,cno,score) VALUES
("0002","0004",79);
insert into grade (sno,cno,score) VALUES
("0002","0005",73);
insert into grade (sno,cno,score) VALUES
("0003","0001",84);
insert into grade (sno,cno,score) VALUES
("0003","0002",92);
insert into grade (sno,cno,score) VALUES
("0003","0003",81);
insert into grade (sno,cno,score) VALUES
("0003","0004",82);
insert into grade (sno,cno,score) VALUES
("0003","0005",75);

表4 student表的数据
学号 姓名
sname 性别
ssex 出生日期sbirth 家族住址snative Sdept
0001 张青平 男 2000-10-01 衡阳市东风路77号 计算机
0002 刘东阳 男 1998-12-09 东阳市八一北路33号 软件
0003 马晓夏 女 1995-05-12 长岭市五一路763号 英语
0004 钱忠理 男 1994-09-23 滨海市洞庭大道279号 经管
0005 孙海洋 男 1995-04-03 长岛市解放路27号 计算机
0006 郭小斌 男 1997-11-10 南山市红旗路113号 计算机
0007 肖月玲 女 1996-12-07 东方市南京路11号 软件
0008 张玲珑 女 1997-12-24 滨江市新建路97号 艺术

表5 course表的数据
课程编号 课程名称 学分
0001 计算机应用基础 2
0002 C语言程序设计 4
0003 数据库原理及应用 4
0004 英语 4
0005 高等数学 4

表6 grade表的数据
学号 课程编号 分数
0001 0001 80
0001 0002 91
0001 0003 88
0001 0004 85
0001 0005 77
0002 0001 73
0002 0002 68
0002 0003 80
0002 0004 79
0002 0005 73
0003 0001 84
0003 0002 92
0003 0003 81
0003 0004 82
0003 0005 75

  1. 使用SQL语句ALTER TABLE修改course表的“课程名称”列cname,使之为空。
alter table curriculum modify cname varchar(50) null;
update curriculum set cname=null;
  1. 使用SQL语句ALTER TABLE修改grade表的“分数”列score,使其数据类型为decimal(5,2)。
Alter table grade MODIFY score DECIMAL(5,2);
  1. 使用SQL语句ALTER TABLE为student表添加一个名为“备注”的数据列,其数据类型为varchar(50)。
Alter table student_info add(“备注” varchar(50));
  1. 使用SQL语句创建数据库studb,并在此数据库下创建表stu,表结构与数据与studentsdb的student表相同。
Create database studb;
Use studb;
Create table stu as select *
from studentsdb.student_info
where 1=2;
INSERT INTO stu SELECT * FROM studentsdb.student_info;
  1. 使用SQL语句删除表stu中学号为0004的记录。
Delete from stu where sno = '0004';

10.使用SQL语句更新表stud中学号为0002的家庭住址为“滨江市新建路96号”。

update stu set snative = "滨江市新建路96号" where sno=0002;

11.删除表stud的“备注”列。

Alter table stu
drop column “备注”;

12.删除表stud。

Drop table stu;

13.删除数据库studb。

Drop database studb;

二、实验思考
1.能通过一个CREATE DATABASE语句创建两个及以上的数据库吗?
不能
2.删除了的数据库还极可能恢复吗?
有可能,要是数据库自动备份过可以通过备份恢复
3.对于studentsdb数据库的student_info表而言,如果输入相同学号的记录将出现什么现象?为什么?
报错,因为学号是主键,不允许有重复;
4.已经打开的表能删除吗?
不能

MySQL 数据库实验二相关推荐

  1. MySQL数据库实验二 数据基本查询

    ★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,. 一.实验目的 1.掌握SQL查询语句的一般格式 ...

  2. MySQL数据库实验二 MySQL数据库和表

    一.实验项目: MySQL数据库和表. 二.实验目的 1.掌握MySQL数据库的创建.修改.删除和查看. 2.掌握表的创建.修改.删除和查看. 3.掌握表中记录的插入.修改和删除操作. 4.掌握完整性 ...

  3. mysql数据库实验+cmd界面运行基本操作总结(sql:数据增删改查,表格,视图,备份恢复)

    文章目录 mysql数据库实验--建表准备 1.dos界面中数据库的登录操作 #这里解决一个bug 2.数据库及表格创建 (1)利用sql语句创建数据库DBtest (2)表格创建 3.导入数据至数据 ...

  4. MySQL数据库实验五 触发器和存储过程

    ★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,. 一.实验目的 1.掌握某主流DBMS支持的SQ ...

  5. MySQL数据库(二)

    MySQL数据库(一): https://blog.csdn.net/Veer_c/article/details/103844059 MySQL数据库(二): https://blog.csdn.n ...

  6. MySQL数据库实验六 简单数据库应用系统设计与实现

    ★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,. 一.实验目的 1.理解并能运用数据库设计的常见 ...

  7. Mysql数据库(二)——mysql数据库管理

    Mysql数据库(二)--mysql数据库管理 一.常用数据类型 二.查看数据库结构 1.进入数据库 2.查看数据库的信息 3.查看数据库中表的信息 4.显示数据表的结构(字段) 三.SQL语句概述 ...

  8. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)

    本篇教程分为三个部分: [全教程]qt连接mysql--从qt编译mysql驱动到qt连接mysql数据库(一.编译连接前准备) [全教程]qt连接mysql--从qt编译mysql驱动到qt连接my ...

  9. MySQL数据库(二)高级

    MySQL数据库(二)高级 一.试图 1.创建试图 视图是一个虚拟表,是sql的查询结果,,本身是不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念其内容由查询定义.同真实的表一样,视图 ...

最新文章

  1. linux wchar t char,linux 下 Linux 下char转换为wchar_t
  2. RHEL7 - 从命令行管理文件
  3. JavaScript基础二
  4. 用tqdm可视化loop过程
  5. 开课吧:教你认识C++基本程序
  6. 关于Runtime.getRuntime().exec()运行python代码失败的问题
  7. php读取doc pdf文件,PHP读取创建txt,doc,xls,pdf类型文件
  8. mybatis增加数据后,获取增加数据的主键Id
  9. 小白R语言数据可视化进阶练习一
  10. 新版微信不停跳转到小程序_微信又有大动作,小程序跳转功能将受限?
  11. 高等代数章节知识回顾(干货笔记)
  12. sqlplus基础命令
  13. java串口监控数据,怎样监听或者拦截串口上的数据
  14. 小学计算机房荷载,资深暖通设计师总结的常用参数参考值,新手们都说感谢大神支招...
  15. 五、BD09(百度坐标系)
  16. lzg_ad:XPE数据库组件
  17. 堆糖生活家喜欢的图片批量下载
  18. 【论文笔记】视频物体检测(VID)系列 FGFA:Flow-Guided Feature Aggregation for Video Object Detection
  19. java项目开发团队协作重要性_Java1班项目实战 | 团队协作,我们是认真的!
  20. 今天收到一封MAIL,是转发了N次转发过来的,标题就叫 FW 听说是真有此事 ,内容如下(我是不信的,至于你怎么

热门文章

  1. 基于itext7导出pdf实现,支持水印、中文等
  2. freepbx 脚本安装方法
  3. 嵌入式100题(47):各种排序算法什么时候有最好情况、最坏情况(尤其是快排)...
  4. 电源滤波电容的选取和选择
  5. 如何在Ubuntu中添加和删除用户
  6. python延时一秒_python – 每个请求延迟1秒,不足以达到每小时3600
  7. android 对话框焦点获取_android edittext 获取焦点并弹出软键盘
  8. 滑动窗口滤波 c语言,关于中值滤波算法,以及C语言实现(转)
  9. prctl()函数详解
  10. css旋转无效果问题