• 【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

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

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

    1. select t.action, t.target_date, t.status
    2. from task as t
    3. join meeting as m on t.mmid = m.id
    4. where t.owner = "admin" and m.status = "released"
    5. order by case t.status when "done" then 1 else 0 end,
    6. 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:查询名字为张三或者籍贯为扬州的女生,并且他们必须是大四。

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


    2024-1-15更新

    七. 清空表数据,并且id自增字段从1开始

    truncate table [表名]

  • 相关阅读:
    2023大厂高频面试题之Vue篇(3)
    2019史上最全java面试题题库大全800题含答案(面试宝典)
    linux开发之制作Ubuntu根文件系统
    Qt4升级到Qt5中文乱码问题的解决
    【华为OD机试真题 JS】火星文计算
    ccf 相邻数对解题思路
    【抓包https请求网络异常/无数据怎么破】
    C#(Csharp)我的基础教程(二)(我的菜鸟教程笔记)-属性和字段的探究与学习
    TypeScript内置类型有哪些?
    6.自定义映射resultMap
  • 原文地址:https://blog.csdn.net/qq_48968230/article/details/134202381