当前位置: 首页 > news >正文

台州网站建设慕枫福建住房和城乡建设局网站

台州网站建设慕枫,福建住房和城乡建设局网站,医疗保健网站前置审批文件,公众号购买文章目录你还在手撸SQL#xff1f;ChatGPT笑晕在厕所一、背景二、面向Chat编程1. 数据库设计2. 建表语句3. 加中文注释4. 数据模拟5. 查询成绩6. 修改课程任课老师7. 删除课程8. 删除一个有关联数据的课程总结你还在手撸SQL#xff1f;ChatGPT笑晕在厕所 一、背景 经典3表设… 文章目录你还在手撸SQLChatGPT笑晕在厕所一、背景二、面向Chat编程1. 数据库设计2. 建表语句3. 加中文注释4. 数据模拟5. 查询成绩6. 修改课程任课老师7. 删除课程8. 删除一个有关联数据的课程总结你还在手撸SQLChatGPT笑晕在厕所 一、背景 经典3表设计 学生表 SSNOSNAMEAGESEX其属性表示学生的学号、姓名、年龄和性别 选课表 SCSNOCNOGRADE其属性表示学生的学号、所学课程的课程号和成绩 课程表 CCNOCNAMETEACHER其属性表示课程号、课程名称和任课教师姓名。 目标 写一套增删查改证明ChatGPT绝非浪得虚名。 二、面向Chat编程 1. 数据库设计 提问 现在你是一名资深数据库工程师请根据以下描述设计数据库表使用中文注释 学生表 SSNOSNAMEAGESEX其属性表示学生的学号、姓名、年龄和性别选课表 SCSNOCNOGRADE其属性表示学生的学号、所学课程的课程号和成绩课程表 CCNOCNAMETEACHER其属性表示课程号、课程名称和任课教师姓名。 回答 根据描述可以设计三个表学生表 S、选课表 SC 和课程表 C。 学生表 S 字段名数据类型描述SNO字符串学生的学号SNAME字符串学生的姓名AGE整数学生的年龄SEX字符串学生的性别 选课表 SC 字段名数据类型描述SNO字符串学生的学号外键CNO字符串所学课程的课程号外键GRADE浮点数学生的成绩 课程表 C 字段名数据类型描述CNO字符串课程的课程号CNAME字符串课程的名称TEACHER字符串任课教师的姓名 ![请添加图片描述](https://img-blog.csdnimg.cn/f2b07cf07a0f47b2b15aa86afb8186a5.jpeg 注释中的外键意味着该字段参照另一个表中的主键。 在选课表 SC 中SNO 和 CNO 分别参照学生表 S 和课程表 C 的主键 SNO 和 CNO。 这个设计可以满足学生、课程和选课的基本信息需要并允许进行查询和关联操作。 思考 大叔有点懒给我个表算什么我要建表语句 2. 建表语句 提问 对这个设计输出mysql数据库的建表语句 回答 以下是基于描述的MySQL数据库建表语句 -- 创建学生表 S CREATE TABLE S (SNO CHAR(10) PRIMARY KEY, SNAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, SEX CHAR(2) NOT NULL );-- 创建课程表 C CREATE TABLE C (CNO CHAR(10) PRIMARY KEY, CNAME VARCHAR(20) NOT NULL, TEACHER VARCHAR(20) NOT NULL );-- 创建选课表 SC CREATE TABLE SC (SNO CHAR(10), CNO CHAR(10), GRADE FLOAT(3, 1), PRIMARY KEY (SNO, CNO), FOREIGN KEY (SNO) REFERENCES S(SNO) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (CNO) REFERENCES C(CNO) ON DELETE CASCADE ON UPDATE CASCADE );这些语句使用了 CHAR 和 VARCHAR 数据类型来存储字符串使用 INT 和 FLOAT 数据类型来存储数字。在 SC 表中PRIMARY KEY 用来定义联合主键FOREIGN KEY 用来定义外键并且使用了 ON DELETE CASCADE 和 ON UPDATE CASCADE 规则来实现级联删除和更新。 思考 建表语句还像那么回事就是没注释啊差评 3. 加中文注释 提问 针对刚才的数据库设计在建表语句中加上中文注释 回答 以下是基于描述的MySQL数据库建表语句同时增加了中文注释 -- 创建学生表 S CREATE TABLE S (SNO CHAR(10) PRIMARY KEY COMMENT 学生的学号, SNAME VARCHAR(20) NOT NULL COMMENT 学生的姓名, AGE INT NOT NULL COMMENT 学生的年龄, SEX CHAR(2) NOT NULL COMMENT 学生的性别 ) COMMENT学生表;-- 创建课程表 C CREATE TABLE C (CNO CHAR(10) PRIMARY KEY COMMENT 课程的课程号, CNAME VARCHAR(20) NOT NULL COMMENT 课程的名称, TEACHER VARCHAR(20) NOT NULL COMMENT 任课教师的姓名 ) COMMENT课程表;-- 创建选课表 SC CREATE TABLE SC (SNO CHAR(10) COMMENT 学生的学号外键, CNO CHAR(10) COMMENT 所学课程的课程号外键, GRADE FLOAT(3, 1) COMMENT 学生的成绩, PRIMARY KEY (SNO, CNO), FOREIGN KEY (SNO) REFERENCES S(SNO) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (CNO) REFERENCES C(CNO) ON DELETE CASCADE ON UPDATE CASCADE ) COMMENT选课表;这些语句在每个表的注释中描述了该表的用途同时也在每个字段的注释中说明了字段的含义。在 SC 表中注释也说明了 SNO 和 CNO 字段是外键并指定了参考的主键。注释可以提高代码的可读性和可维护性让开发者更容易理解表的设计和用途。 思考 perfect 然而没数据~神啊来点数据吧 4. 数据模拟 提问 根据刚才设计的表结构写出insert脚本生成测试数据 回答 以下是插入脚本可以用来生成测试数据 -- 插入学生数据 INSERT INTO S (SNO, SNAME, AGE, SEX) VALUES (S001, 张三, 20, 男), (S002, 李四, 21, 男), (S003, 王五, 19, 女), (S004, 赵六, 20, 女), (S005, 钱七, 22, 男), (S006, 孙八, 20, 女), (S007, 周九, 19, 男), (S008, 吴十, 21, 男);-- 插入课程数据 INSERT INTO C (CNO, CNAME, TEACHER) VALUES (C001, 数据库系统, 张老师), (C002, 计算机网络, 李老师), (C003, 算法设计, 王老师), (C004, 操作系统, 赵老师), (C005, 编译原理, 钱老师);-- 插入选课数据 INSERT INTO SC (SNO, CNO, GRADE) VALUES (S001, C001, 80), (S001, C002, 85), (S001, C003, 90), (S002, C001, 75), (S002, C002, 85), (S002, C003, 80), (S003, C002, 90), (S003, C003, 95), (S004, C002, 80), (S004, C003, 85), (S005, C001, 90), (S005, C002, 80), (S005, C003, 85), (S006, C001, 85), (S006, C003, 90), (S007, C003, 75), (S008, C001, 80), (S008, C002, 75), (S008, C003, 85);这个脚本向学生表 S课程表 C 和选课表 SC 中分别插入了 85 和 18 条记录用于模拟测试数据。这些数据包括学生的学号、姓名、年龄和性别课程的课程号、课程名称和任课教师以及学生选修的课程号和成绩。可以根据需要进行修改。 思考 太强了~ 现在真正的考验来了增删查改会不会 5. 查询成绩 提问 查询课程 算法设计 成绩在60分以上的学生姓名、性别、年龄 回答 以下是查询课程 “算法设计” 成绩在60分以上的学生姓名、性别、年龄的SQL语句 SELECT S.SNAME, S.SEX, S.AGE FROM S INNER JOIN SC ON S.SNO SC.SNO INNER JOIN C ON SC.CNO C.CNO WHERE C.CNAME 算法设计 AND SC.GRADE 60;这个查询使用了内连接将学生表 S选课表 SC 和课程表 C 进行联结。通过在 WHERE 子句中设置限制条件我们只保留选修 “算法设计” 并且成绩 60 分的学生。最后我们从结果中选择所需的学生信息包括姓名、性别和年龄并返回这些信息。 思考 太强了~ 提问 写个SQL语句查询每门课程前五名的学生 回答 以下是查询每门课程前五名的学生的SQL语句 SELECT C.CNO, C.CNAME, SC.SNO, S.SNAME, SC.GRADE FROM C INNER JOIN SC ON C.CNO SC.CNO INNER JOIN S ON SC.SNO S.SNO WHERE (SELECT COUNT(*) FROM SC AS SC2 WHERE SC2.CNO SC.CNO AND SC2.GRADE SC.GRADE ) 5 ORDER BY C.CNO, SC.GRADE DESC;该查询使用了一个子查询来计算每个学生在每门课程中的排名。子查询检查每个学生的成绩是否比其他学生高并计算出他们的排名。在外层的查询中我们可以使用子查询计算每门课程前五名的学生并返回这些学生的成绩和其他信息。最后使用 ORDER BY 子句按照课程号和成绩降序排序。 6. 修改课程任课老师 提问 更改编译原理课程的老师为郑老师 回答 以下是更改编译原理课程的老师为郑老师的 SQL 语句 UPDATE C SET TEACHER 郑老师 WHERE CNAME 编译原理;这个语句使用了 UPDATE 命令来更新课程表 C 中的记录。通过 WHERE 子句限定课程名称为 “编译原理”然后使用 SET 子句将课程对应的老师名称修改为 “郑老师”。这样所有 “编译原理” 课程都将对应着这位新的老师。 思考 能分解出我的问题不错 7. 删除课程 提问 删除操作系统课程 回答 以下是删除操作系统课程的 SQL 语句 DELETE FROM C WHERE CNAME 操作系统;这个语句使用了 DELETE 命令从课程表 C 中删除记录。通过 WHERE 子句限定课程名称为 “操作系统”这样只有 “操作系统” 课程对应的记录将被删除。注意该操作将不仅删除课程表中的记录还将删除选课表中所有选修该课程的学生的成绩记录。 思考 这个课程没人选换一个 8. 删除一个有关联数据的课程 提问 删除计算机网络课程 回答 以下是删除计算机网络课程的 SQL 语句 DELETE FROM C WHERE CNAME 计算机网络;这个语句使用了 DELETE 命令从课程表 C 中删除记录。通过 WHERE 子句限定课程名称为 “计算机网络”这样只有 “计算机网络” 课程对应的记录将被删除。注意该操作将不仅删除课程表中的记录还将删除选课表中所有选修该课程的学生的成绩记录。 思考 验证成功 总结 这个经典的数据库设计和基本增删查改对于ChatGPT来说简直是小菜一碟。 而且扎心的是每步操作都有理有据有提示这是要干掉搜索引擎的节奏
http://www.hkea.cn/news/14556352/

相关文章:

  • 免费的网站软件正能量推荐百度竞价排名公式
  • 中国网站制作企业排行榜凡科互动官网登录入口网页版
  • 怎么接网站开发外包怎么建设自己网站首页
  • 繁峙做网站建设免费快速建站工具
  • 网站盈利模式有哪几种wordpress远程发布
  • 自适应型网站建设费用企业网查询是什么
  • seo网站结构图新乡专业seo电话
  • 做自媒体必备的8个网站电脑网页打不开但是有网什么原因
  • 宛城区微网站建设做网站的时候宽度都怎么弄
  • 杭州余杭区网站建设做网站 买空间
  • 为网站网站做宣传1688官网
  • 有机大米网站建设方案购物网站开发意义
  • ui网站模板淘宝优惠券怎么做网站
  • 骨干专业建设验收网站住房城乡建设网站查询
  • 程序员接外包网站厦门市市场开发建设服务中心网站
  • 实时网站推广的最终目的是别样网图片素材网站
  • 各大网站的域名是什么原因诏安建设局网站
  • 怎样登陆东莞建设网关键词优化快速排名
  • 四川省建设厅消防网站枣庄手机网站建设
  • 南京城乡建设网站常用的品牌策划公司
  • dooor网站网页制作与网站建设06627
  • 企业如何进行网站推广宁波小型建网站公司
  • 官网网站源码网站制作软件dw
  • 网站建设的相关书籍深圳高端网站建设公司
  • 阳泉推广型网站开发xp怎么建设网站
  • 免费做电子请帖的网站上海网页设计班
  • 电影网站怎么做要多少钱益阳市建设网站
  • 网页设计作业个人网站视频网站应该怎么做
  • 百度网站录入wordpress套cf速度怎么样
  • 建设银行嘉兴分行官方网站wordpress头像