DB-LAB2基本表的数据操作

基本表的数据操作 

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

1.针对SPJ_MNG数据库和Student数据库,用SQL语句插入实验一中所列的示例数据。

可以单条语句插入也可多条语句插入

1.针对Student数据库,在图形用户界面中对表中的数据进行更新。(5分)

(1)修改S表的任意一条数据。

(2)删除S表的任意一条数据。

Ps:直接用图形化界面在二.2中有说明

2.针对SPJ_MNG数据库,用SQL语句完成下面的数据更新。

(1)把全部红色零件的颜色改为蓝色。

(2)由S5供给J4的零件P6改为由S3供应,请做必要的修改。

(3)从供应商表中删除S2的记录,并从供应情况表中删除相应记录。

(4)请将(S2,J6,P4,200)插入供应情况表SPJ。

(1)

(2)

(3)

(4)

3.针对SPJ_MNG数据库,用SQL语句完成下面的数据查询。

(1)找出所有供应商的姓名和所在城市。

(2)求供应工程J1零件P1的供应商号码。

(3)找出使用供应商S1或者S2所供应零件的工程号码。

(4)求供应工程J1零件为红色的供应商号码。

(5)查询每个供应商号码以及其供应零件的总个数。

(6)求每个供应商号码,供应商名以及所供应零件的种类数量。

(7)找出使用上海供应商的零件的工程名称。

(8)求没有使用天津供应商生产的红色零件的工程号码。

(9)求至少使用了供应商S1所供应的全部零件的工程号。

(10)查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的最大供应量。

(1)

(2)

(3)

(4)

结果为空是因为之前有操作把所有红改为蓝

再修改进行验证

(5)

(6)

(7)

(8)

(9)

(10)

4.针对Student数据库用SQL语句完成下面的数据查询。

(1)查询每个学生已经获得的学分的总分(成绩及格表示获得该门课的学分),并按照所获学分由高到低的顺序输出学号,姓名,所获学分。

(2)查询这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上。

(1)

(2)

5.针对Student数据库用至少三种不同的SQL语句进行查询:查询选修了课程名为“数据库”的学生学号和姓名,然后自己设计实验,用数据比较分析三种查询的效率,并分析原因。

        说明:查询性能验证最好在10W以上的数据条件下进行测试。构造10W以上的数据可以自行编程插入数据或者用导入导出方式实现。

三种方式:

select ID,name from student

where ID in

(

   select distinct ID from takes

    where course_id in

    (

      select course_id from course

        where title = 'Graphics'

    )

);

select ID,name from student

where ID in

(

   select takes.id from takes,course

   wheretakes.course_id = course.course_id

and title = 'Graphics'

)

select student.ID,name fromstudent,course,takes

where title = 'Graphics'

and student.id = takes.id

and course.course_id = takes.course_id;

表面上看三种查询方式耗时相同,这是由于当前数据数据较少,并未体现出三种查询方式的区别

实际上应当第一种查询效率最高,第三种最低

第一种查询使用两层嵌套,每个嵌套中进行一次遍历进行比较,每次便利的范围都在一步步缩小,数据量有了明显的减少

第二种查询使用一层嵌套,遍历行增多,效率降低

第三中查询需要遍历所有行,效率最低

所以嵌套次数越多查询效率越高,因为连接两个表后再查询,相较于在表中直接查询效率更低

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

除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

1.在SPJ表中插入数据时报错:

1062 Error ‘Duplicate entry‘S1’for key ‘spj.PRIMARY’

这是主键值重复,主键设置不合理,将SNO,PNO,JNO都设为主键,解决问题

2.在针对Student数据库,在图形用户界面中对表中的数据进行更新中,我发现spj_mng表中可以邮件单击删除行或者用表旁边带减号的图标进行删除,然而student表中右击并不能选中delete row,后来发现是之前用命令行建表时留下的垃圾操作,因为表中并没有设置主键,所以无法直接对表进行更改,只能通过命令行(可能是平台的某些规定)

设置主键后看到表旁出现带减号图标

删除后记得刷新就可以看到结果了

3.在导入university数据库中遇到报错Error Code: 1239. Incorrect foreign key definition for ‘foreign keywithout name’

在外键reference后添加列名即可解决

参考链接:

(41条消息) [解决方案]ErrorCode: 1239. Incorrect foreign key definition for ‘foreign key without name‘_李柒岁的博客-CSDN博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容