《数据库原理MySQL》第二次上机实验

一、表结构的修改
1、为 student 表格增加籍贯列 jiguan,数据类型 varchar,字段宽度为 20 字节,不允许输入空值。
语法:ALTER TABLE table_name ADD 属性名 属性类型 NOT NULL;

mysql> ALTER TABLE student add jiguan VARCHAR(20) NOT NULL;

在这里插入图片描述
2、重命名 student 表的籍贯列“jiguan”为“jg”。
语法:ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧数据类型;

mysql> ALTER TABLE student CHANGE jiguan jg VARCHAR(20);

在这里插入图片描述
3、删除 student 表中的 jg 字段。
语法:ALTER TABLE table_name DROP 属性名;

mysql> ALTER TABLE student DROP jg; 

在这里插入图片描述
4、将 student 表中的 sdept 字段长度改为 20
语法:ALTER TABLE table_name MODIFY 属性名 数据类型;数据类型为修改后的数据类型

mysql> ALTER TABLE student MODIFY sdept VARCHAR(20);

在这里插入图片描述
5、在 sno 字段上为 Student 表设置主键。
语法:ALTER TABLE table_name ADD PRIMARY key 属性名;

mysql> ALTER TABLE student ADD PRIMARY KEY (sno);

在这里插入图片描述
6、在 Cno 字段上为 Course 表设置主键。

mysql> ALTER TABLE course ADD PRIMARY KEY (cno);

在这里插入图片描述
7、为 SC 表的 Sno 和 Cno 设置外键。

mysql> ALTER TABLE sc ADD FOREIGN KEY(sno) REFERENCES student(sno);
mysql> ALTER TABLE sc ADD FOREIGN KEY(cno) REFERENCES course(cno);
 

在这里插入图片描述
在这里插入图片描述

mysql> INSERT INTO student(sno,sname,ssex,sbirthday,sdept,speciality) VALUES ('20050101','李勇','男','19870112','CS','计算机应用'),
    -> ('20050201','刘晨','女','19880604','IS','电子商务'),
    -> ('20050301','王敏','女','19891223','MA','数学'),
    -> ('20050202','张立','男','19880825','IS','电子商务');

在这里插入图片描述
在这里插入图片描述

 
mysql> INSERT INTO course(cno,cname) VALUES ('C01','数据库'),
    -> ('C02','数学'),
    -> ('C03','信息系统'),
-> ('C04','操作系统');

在这里插入图片描述

mysql> INSERT INTO sc(sno,cno,degree) VALUES ('20050101','C01','92'),
    -> ('20050101','C02','85'),
    -> ('20050101','C03','88'),
    -> ('20050201','C02','90'),
    -> ('20050201','C03','80'),
    -> ('20050301','C01','91'),
    -> ('20050301','C02','75'),
    -> ('20050202','C01','87');

在这里插入图片描述
2、使用 update 命令将 SC 表 C02 课程的 Degree 字段值全部加 5 分。

mysql> UPDATE sc SET DEGREE=DEGREE+5 WHERE cno='C02';

在这里插入图片描述

3、删除 SC 表中 C02 课程的全部记录。

mysql> DELETE FROM sc WHERE cno='C02';

在这里插入图片描述

4、查看 SC 表格中所有数据。

mysql> select * from sc;

在这里插入图片描述

思考题
1、MySQL 的数据库文件有几种?扩展名分别是什么?

四种
.idb:存放innodb数据的文件
.frm:存放表结构的文件
.MYD:MyiSAM存储引擎数据的文件
.MYI:MyiSAM存储引擎索引文件

2、如何实现数据库的备份和还原

备份

C:\Windows\system32>mysqldump -uroot -pyL@98 jxgl > d:/jxgl.sql

在这里插入图片描述

还原

mysql> source d:/jxgl.sql;

在这里插入图片描述
3、在定义基本表语句时,NOT NULL 参数的作用是什么

非空约束,必须要有数值或内容

4、主码可以建立在“值可以为 NULL”的列上吗?

不能
主码是非空且唯一的,若值为空,主码不能建立

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值