gpt4 book ai didi

mysql - 从我的查询结果中删除一个从 sql 语句填充的元组是否正确?

转载 作者:行者123 更新时间:2023-11-30 21:38:27 24 4
gpt4 key购买 nike

我正在学习 sql 查询。如果我的查询结果像给定的图片一样返回 query result ,那是一个有效的查询结果吗?如果不是,我应该怎么做才能将结果作为实体表取回,而它不应该让我编辑结果。我正在使用 phpmyadmin。

查询是列出所有未提供 NOK 详细信息的学生。我的sql语句如下:

select CONCAT(s.fname,' ', s.lname) as Names,s.bannerNo 
from Student s
where NOT EXISTS (select*from NOK n where n.studentID = s.bannerNo)

学生表:

Student (bannerNo,fName,lName, street,city,postcode,mobile,email,DOB,gender,category,nationality,special needs, comments,status,courseNo,staffNo)
Primary Key bannerNo

挪威克朗表:

NOK (StudentID,fName,lName,relationship,street,city,postcode,phoneNo)
Primary Key StudentID
Foreign key StudentID references Student(bannerNo)

最佳答案

如果我理解正确的话,您想删除显示查询结果的可视化工具 (phpmyadmin) 上的一个元组。

我不知道该工具,但它确实显示了“删除”按钮,正如您的图片所证明的那样。

让我将其翻译成 SQL 术语:您看到一个“结果集”并且您想知道对其进行操作是否有效,因此它会影响基础数据。我做对了吗?

如果是这样,那么这个问题类似于使用 View 操作数据。 View 是一个或多个表的投影。那么…… View 是否可更新?答案是:其中一些是。

哪些?这取决于数据库引擎。甲骨文在这些方面相当擅长;其他数据库实际上不允许,但在少数情况下。

那么,主要思想是什么?在大多数数据库中,主要概念是关于“可追溯性”。每个结果行是否对应于一个基础表中的一行?如果是这种情况,那么您很可能能够更新/删除它。如果不是,那你就不走运了。

为什么?因为,数据库引擎需要通过某种方式回到您正在查看的数据源。如果您的查询包括表的主键,那是个好消息。如果没有,那就更难了。也许其他一些列具有唯一约束或可以使用的东西。

归根结底,这取决于:

  • 数据库引擎(在本例中为 MySQL)。
  • 特定查询的“可追溯性”。能追溯到行吗?在您的查询中似乎是这样,因为 PK bannerNo 就在那里。

关于mysql - 从我的查询结果中删除一个从 sql 语句填充的元组是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52854107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com