• MySQL【第三章】——小白级(CRUD)


    一、CRUD    增删改查
         1.新增(INSERT)

       语法:INSERT INTO 表名(列1,列2,...,列N) values(值1,值2,...,值N)
     
       批量新增:INSERT INTO 表名(列1,列2,...,列N) values(),(),();

       注:
       1) 如果数据是字符型,必须使用单引号或者双引号,如:"value";
       2) 在缺省列名的情况,插入不能少或多字段值;
       3) 在插入部分字段时,要指定插入的数据字段并依此插入;

       注意:在企业中,特别是生产环境(真实环境)下执行删除或者修改操作时,请慎重!如有必要请提前备份!!

     2.删除(DELETE) 
      
       面试题:DELETE/DROP/TRUNCATE的区别???

    (1).删除数据及表定义

            truncatedelete只删除数据不删除表的结构(定义) 
            drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. 

     (2).DML or DDL

            Delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. 
            truncate,dropddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 


        (3).表空间

            delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 
            drop语句将表所占用的空间全部释放 
            truncate 语句缺省情况下见空间释放到 minextentsextent,除非使用reuse storage;   truncate会将高水线复位(回到最开始). 
        (4).速度

            一般来说: drop> truncate > delete 
         (5).安全性

            小心使用drop truncate,尤其没有备份的时候.否则哭都来不及 
            使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大. 
            想删除表,当然用drop 
            想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete

     DELETE语法:DELETE FROM 表名 WHERE 条件  

       3.修改(UPDATE)

       语法:UPDATE 表名 set 列1=值1,列2=值2,... WHERE 条件

       注:
       1) 不推荐使用全表修改所有字段数据,除非有特殊需求;
       2) 推荐使用带条件方式修改字段数据;

      4.查询(SELECT)

       语法:SELECT * FROM 表名 WHERE 条件

       注:
       1) 在查询时,推荐使用指定查询字段的方式,效率更高;

     

  • 相关阅读:
    【力扣】剑指offer第二天
    从0开始编写BP,自适应学习率的BP神经网络,不使用MATLAB工具箱,纯手写matlab代码,以BP分类为例...
    自动化运维-批量安装Linux操作系统
    快速实战SQL - 排序检索数据
    医院检验信息系统源码 医院检验LIS系统源码 LIS源码
    孙卫琴的《精通Vue.js》读书笔记-组件的递归
    电子器件系列53:D型触发器
    山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(二十六)- 微服务(6)
    Jmeter使用常见问题
    竞赛选题 深度学习机器视觉车道线识别与检测 -自动驾驶
  • 原文地址:https://blog.csdn.net/m0_62019369/article/details/125448238