• 【MySQL】操作表DML相关语句


      👉引言💎

    在这里插入图片描述

    铭记于心
    🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉

    DML操作表记录-增删改【重点】

    • 准备工作: 创建一张商品表(商品id,商品名称,商品价格,商品数量.)
    create table product(
      pid int primary key auto_increment,# 
      pname varchar(40),
      price double,
      num int
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6.1 插入记录

    6.1.1 语法

    • 方式一: 插入指定列, 如果没有把这个列进行列出来, 以null进行自动赋值了.
      eg: 只想插入pname, price , insert into t_product(pname, price) values(‘mac’,18000);
    insert into 表名(,..) values(,..);
    
    • 1

    注意: 如果没有插入了列设置了非空约束, 会报错的

    • 方式二: 插入所有的列,如果哪列不想插入值,则需要赋值为null
    insert into 表名 values(,....);           
    
    eg:
    insert into product values(null,'苹果电脑',18000.0,10);
    insert into product values(null,'华为5G手机',30000,20);
    insert into product values(null,'小米手机',1800,30);
    insert into product values(null,'iPhonex',8000,10);
    insert into product values(null,'iPhone7',6000,200);
    insert into product values(null,'iPhone6s',4000,1000);
    insert into product values(null,'iPhone6',3500,100);
    insert into product values(null,'iPhone5s',3000,100);
    
    insert into product values(null,'方便面',4.5,1000);
    insert into product values(null,'咖啡',11,200); 
    insert into product values(null,'矿泉水',3,500);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    6.2 更新记录

    6.2.1语法

    update 表名 set 列 =值, 列 =值 [where 条件]
    
    • 1

    6.2.2练习 有 , .

    6.2.2练习

    6.2.2练习

    • 将所有商品的价格修改为5000元
    update product set price = 5000;
    
    • 1
    • 将商品名是苹果电脑的价格修改为18000元
    UPDATE product set price = 18000 WHERE pname = '苹果电脑';
    
    • 1
    • 将商品名是苹果电脑的价格修改为17000,数量修改为5
    UPDATE product set price = 17000,num = 5 WHERE pname = '苹果电脑';
    
    • 1
    • 将商品名是方便面的商品的价格在原有基础上增加2元
    UPDATE product set price = price+2 WHERE pname = '方便面';
    
    • 1

    6.3 删除记录

    6.3.1delete

    根据条件,一条一条数据进行删除(可以回滚找回数据)

    如果要清空表,那么不要使用delete,直接使用truncate清空表(销毁原表再自动创建一个,不能找回),两者都是物理删除数据

    删除后

    插入后id会直接从5开始,说明这还是之前那个表

    但如果用truncate进行删除后再插入,如右图所示,是一张新表

    • 但在实际工作中两种方法都不使用,那么如何“删除”数据呢? — — —** 逻辑删除**(新加字段,1启用,0禁用等方式)
    • 语法
    delete from 表名 [where 条件]    注意: 删除数据用delete,不用truncate
    
    • 1
    • 类型

    删除表中名称为’苹果电脑’的记录

    delete from product where pname = '苹果电脑';
    
    • 1

    删除价格小于5001的商品记录

    delete from product where price < 5001;
    
    • 1

    删除表中的所有记录

    delete from product;
    
    • 1

    6.3.2truncate

    把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快

    truncate table;
    
    • 1

    6.3.3 工作中删除数据

    • 物理删除: 真正的删除了, 数据不在, 使用delete就属于物理删除
    • 逻辑删除: 没有真正的删除, 数据还在. 搞一个标记, 其实逻辑删除是更新 eg: state 1 启用 0禁用

    🌹写在最后💖
    路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹在这里插入图片描述


  • 相关阅读:
    前端之用html做一个用户登陆界面
    【计算机毕设之基于Java的高校毕业生就业质量数据分析系统-哔哩哔哩】 https://b23.tv/3T9UIrM
    【2021最新版】Spring Cloud面试题总结(35道题含答案解析)
    MySQL日志系统知识点总结
    VIM文本编辑器基本操作
    学会“创建者模式”再去找她玩(原型)
    空域图像增强-图像滤波处理
    高阶导数习题
    TGRS 2023.11遥感预训练模型的再思考:基于实例感知的遥感场景分类视觉提示
    Git 学习笔记 | 安装 Git 及环境配置
  • 原文地址:https://blog.csdn.net/runofsun/article/details/125964362