DB-LAB1数据库和表的创建与管理

数据库和表的创建与管理

一.实验内容、步骤以及结果

1.利用图形用户界面连接数据库。

例如:MySQL Workbench或者HeidiSQL

2.利用命令行连接数据库。

3.利用图形用户界面创建、备份、删除和还原数据库和数据表。

(1) 创建SPJ_MNG数据库。

(2) 在SPJ_MNG数据库中创建以上四张表(只输入一部分数据示意即可)。

(3) 导出数据库SPJ_MNG为一个SQL文件。

提示:MySQL WorkBench中左上方导航区,选择Administration → Data Export。选中需要导出的数据库,设置相关参数,进行导出。

(4) 删除已经创建的供应情况表(SPJ表)。

(5) 删除SPJ_MNG数据库。

(6) 利用(3)中备份过的SQL文件还原刚才删除的SPJ_MNG数据库。

提示:MySQL WorkBench中选择Administration →Data Import/Restore。首先新建数据库SPJ_MNG,然后选中备份文件所在的文件夹,开始导入。注意备份和还原需要使用相同的格式形式,即都使用文件夹或都是用文件格式。

(7)修改S表,增加一个联系电话的字段STEL,数据类型为字符串类型,并修改S表中SNO允许的字符串最大长度。

(8)了解MySQL 的物理存储文件,查看本机MySQL服务安装目录下(如默认安装C:\ProgramData\MySQL\MySQL Server 8.0\Data)的数据文件。尝试分别按照InnoDB和MyISAM不同的存储引擎创建表,观察并说明物理存储文件差异。

修改表j的存储引擎为MyISAM

差异:

InnoDB 支持事物,是事物安全的,提供行级锁和外键约束,有缓冲池,用于缓冲数据和索引。

MyiSAM不支持事物,不支持外键约束,不支持行级锁,操作时需要锁定整张表,不过会保存表的行数,执行较快。

4. 利用命令行创建、备份、删除和还原数据库和数据表。

(1)用SQL语句创建数据库Student。

(2)用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。不用输入数据。

实验过程中忘记添加主键约束,应改为SNO INT primary key,

其他同

Ps:建表前记得use student指定数据库

(3) 备份数据库Student,并比较不同参数下的不同的备份文件差异。

mysqldump -h localhost -u root -p student > d:\s1.sql备份了结构和数据

mysqldump -h localhost -u root -p

--no-data --databases student > d:\s2.sql只备份结构,不备份数据

(4)    [endif]用SQL语句删除创建的表。

(5)    [endif]用SQL语句删除创建的数据库。

(6) 用SQL语句利用(3)中的备份文件还原student数据库。

(7) 修改S表,增加一个联系电话的字段STEL,数据类型为字符串类型,并修改S表中SNO允许的字符串最大长度。

增加联系电话字段STEL

alter table sadd stel TINYTEXT;

(这个忘记截图了)

(8)查看mysqldump 生成的SQL文件中的定义数据库或表的SQL脚本,对比自动生成的脚本和自己写的SQL语句的异同点。

脚本自动生成:

自己写的SQL语句(命令行)

MySQL dump生成的SQL文件中的SQL脚本解释性语言较多,并且会在每一个建表语句之前删除同名表等,sql语句编写较为完整,逻辑缜密。

二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)

1. MySQL ERROR 1170错误:BLOB/TEXT column used in key specification without a key length

分析:MySQL 只能索引 BLOB 或 TEXT字段的前 N 个字符。因此这个错误主要发生在 TEXT或 BLOB 类型的字段或一些属于 TEXT或 BLOB 类型的字段中,比如TINYTEXT,MEDIUMTEXT,LONGTEXT,TINYBLOB,MEDIUMBLOB和 LONGBLOB 这些类型中。

该情况设JNO为TINYTEXT引发错误。

参考链接:https://kalacloud.com/blog/mysql-error-1170-42000-blobtext-column-used-in-key-specification-without-a-key-length/

结果:改为VARCHAR(8)后运行成功

补充:

2.由于路径中有中文引起的报错,该问题需要修改用户名并重新配置注册表,由于疫情封校,担心自己弄坏了系统无法修复,所以该小结在同学电脑中完成


参考链接:

(41条消息) 8、MySQLWorkbench导入数据库提示Failedto open required defaults file:xxx.cnf_怎么追摩羯座的博客-CSDN博客

3.补充:之前有安装过MySQL,太久没使用忘记密码可以用如下方法解决

https://blog.csdn.net/qq_45890970/article/details/122944537?spm=1001.2014.3001.5502

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容