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

【SQL相关实操记录】

一. 两张表的联合查询

task表中含 id(任务的序列号), action(任务内容), owner(任务分配的对象),  target_date(目标完成日期), status(任务的完成状态),mmid(对应meeting的序列号--表示在该meeting中所对应布置的任务).

meeting表中含id(meeting的序列号), status(meeting记录的状态,有两种saved或released),只有released的meeting,对应task内容才能公开。

1. 查询task表中对应owner=“admin”的action,target_date,status,其中对应所属的meeting必须已经released

select t.action, t.target_date, t.status 
from task as t
join meeting as m
on t.mmid = m.id
where t.owner = "admin" and m.status = "released";

2. 在第一题的基础上,将新分配的task优先展示(将task按照id逆序),同时将已经完成的task数据排在最后展示,即status=“done”的task列在其他status的task后面。

select t.action, t.target_date, t.status 
from task as t
join meeting as m on t.mmid = m.id
where t.owner = "admin" and m.status = "released"
order by case t.status when "done" then 1 else 0 end,
t.id desc;

 

二. 查询最大的ID

获取meeting表中id最大的值

select MAX(id) as maxID from meeting;

 

三. 向表中插入数据

向student表中插入学生数据,其中id是自增的,不需要添加

insert into student (name, sex, age) values ('张三', '男', '10');

四. 更新表中的数据

更新student表中学号为001的学生的名字为‘李四’

update student set name = '李四' where id = '001';

五. 重置自增的序号

对于student表中,id为自增的数据,删除一条student数据后,再次添加一条数据,id值则会出现不连续的情况,这时需要对序号进行重置,步骤如下:(最好对表格数据进行备份,防止出错,数据丢失)

step 1. 删除原本自增的id列

alter table student drop id;

step 2. 新增task_id字段,并且设置字段为第一列,设置属性为自增、主键

alter table student add id int not null auto_increment first, add primary key (id);

六. 有关“与”和“或”的合用查询

例1:查询名字为‘张三’的学生,或者籍贯为扬州的女生。

select * from student where name = '张三' or (sex = '女' and home like '%扬州%');

例2:查询名字为张三或者籍贯为扬州的女生,并且他们必须是大四。

select * from student
where (name = '张三' or (sex = '女' and home like '%扬州%')) and grade = 4;

http://www.lryc.cn/news/219068.html

相关文章:

  • Python爬虫实战-批量爬取下载网易云音乐
  • LeetCode 面试题 16.14. 最佳直线
  • Spring Boot创建多模块项目
  • Node.js、Chrome V8 引擎、非阻塞式I/O介绍
  • 企业服务总线ESB有什么作用?和微服务有什么区别?会如何发展?
  • NLP之LSTM原理剖析
  • ESP32网络开发实例-Web方式配置WiFi连接
  • ElasticSearch 批量插入漏数据
  • C++——类和对象之运算符重载
  • 第二阶段第一章——面向对象
  • Linux学习第33天:Linux INPUT 子系统实验(二):Linux 自带按键驱动程序的使用
  • 解决Visual Studio 2010 运行时屏幕一闪而过,无结果显示的问题
  • C++(20):为[[nodiscard]]提供提示信息
  • hi3518ev200 从sd卡启动rootfs
  • [BUUCTF NewStar 2023] week5 Crypto/pwn
  • 使用seldom编写http接口用例
  • Redis中Hash类型的命令
  • Java 函数式编程
  • 类的成员函数总结
  • java高级之单元测试、反射
  • MSQL系列(十三) Mysql实战-left/right/inner join 使用详解及索引优化
  • 前端面试题之HTML篇
  • Django ORM:数据库操作的Python化艺术
  • react受控组件与非受控组件
  • 小米产品面试题:淘宝为何需要确认收货?京东为何不需要?
  • (1)上位机底部栏 UI如何设置
  • 中国多主数据库:压强投入,期待破茧
  • JavaScript在ES6及后续新增的常用新特性
  • 试试流量回放,不用人工写自动化测试case了
  • 密钥管理系统功能及作用简介 安当加密