上学期的mysql实验,我花了很多时间才把他完成,这段时间终于闲下来了,现在把实验内容分享给大家,一起学习和讨论,希望对大家有所帮助,欢迎大家在评论区讨论哦!
实验一共包含了表的创立、基本查询、高级查询、数据更新与视图实验、自主存取控制、触发器这些内容,我会在接下来的时间里再次逐步实施并陆续更新。
1.创立数据库 TPCH
create database tpch;
(mysql不区分大小写)
2.创立表
先展示一下表的个数和结构。
具体字段和名字这里就展示一个表,其他的表根据自身要求创建即可。主码和外码、数据类型、长度都标注出来了。
接下来实现Mysql代码的操作。我们在创建表的时候一定要注意顺序,不能随意创建表。因为表之间存在外码和字段联系的关系,所以必须先创建没有箭头指向的表,也就是不存在其他表外码的表,这样才能建立起每个表之间的联系。创建顺序如下。
Part
region
Nation
Supplier
Customer
Partsupp
Orders
Lineitem
这样我们所有的表就创建完成了。这里给出一个代码可以复制,大家可以在此基础上修改来创建不同的表,一定记得结束的“;”。
CREATE TABLE part (
p_partkey int NOT NULL,
P_NAME varchar(55) DEFAULT NULL,
P_MFGR char(25) DEFAULT NULL,
P_TYPE varchar(25) DEFAULT NULL,
P_RETAILPRICE double DEFAULT NULL,
P_BRAND char(10) DEFAULT NULL,
P_SIZE int DEFAULT NULL,
P_CONTAINER char(10) DEFAULT NULL,
P_COMMENT varchar(23) DEFAULT NULL,
PRIMARY KEY (p_partkey));
3.导入csv数据文件
接下来是导入数据库,首先查看自己的mysql是否支持文档导入。
secure_file_priv = NULL,表示限制不能导出导入;
secure_file_priv = C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\,表示限制在C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\目录中执行导出导入;
secure_file_priv = ,表示不限制在任意目录都可导出导入。
然后导入文件,一定要将csv文件放在secure_file_priv所在的文件夹中,数据导入的顺序也要和表创立的顺序一致(为了保证表之间主码和外码的联系),不然就会报错。在导入文件时注意将文件和自己创立的表一一对应起来。这样就完成所有表和数据的建立了。
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/lineitem.csv' into table LINEITEM FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY "" ESCAPED BY "" LINES TERMINATED BY '\r\n';
跑代码会出现很多错误,希望这篇文章对大家有所帮助!