zoukankan      html  css  js  c++  java
  • 八:数据的增删改

    插入:insert

    修改:update

    删除:delete

    # 一:插入语句

    语法:

      insert into 表名 (列名....) value (值1.....)

      或者 inset into 表名 set 列名=值,列名=值;

      两种方式的区别:

        方式一支持插入多行,方式二不支持

        方式一支持子查询,方式二不支持

        

     # 二:修改语句

      2.1)修改单表记录

          update 表名 set 列=新值,列=新值···  where  筛选条件;

    UPDATE salaries s
    JOIN employees ON s.`emp_no`=employees.`emp_no`
    SET s.`salary`=0,employees.`first_name`='hello mysql'
    WHERE s.`salary`=75001;
    修改

      2.2)修改多表记录

          update 表1 别名

          inner/left/right join 表2 别名  on 连接条件

          set 列=值 

          where 筛选条件;

    # 三:删除语句(delete 删除有返回值,truncate没有返回值,truncate删除不能回滚,delete删除可以回滚

      3.1)单表删除

          delete from 表名 where 筛选条件

          truncate table 表名;#truncate后面不能加筛选条件, 删除所有数据,删库记得跑路

      3.2)多表删除

          sql99语法:

            delete 表1的别名,表二的别名

            from 表1 别名

            inner / left / right join 表2别名 on 连接条件

            where 筛选条件;

    DELETE s,e
    FROM
      salaries AS s
      INNER JOIN employees AS e
        ON s.emp_no = e.emp_no
    WHERE s.salary = 0 ;
    多表删除

    面试题:

    两种删除方式的区别

    1. 自增长列:truncate删除后,如果在插入,标识从1开始

      delete删除后,如果在插入,标识从断点开始

    2.delete可以添加筛选条件truncate不可以

    3.truncate效率较高

    4.truncate没有返回值

      delete可以返回收影响的行数

    5.truncate不可以回滚

  • 相关阅读:
    mybatis-Generator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap
    Linux 常用的命令
    Linux 查找文件
    eclipse tasks
    Myeclipse 文件注释和解注释
    proxool连接池 异常
    EL 表达式 函数 操作 字符串
    Myeclipse 选中高亮
    Spring 定时作业
    linux配置java环境变量(详细)
  • 原文地址:https://www.cnblogs.com/BookMiki/p/14161041.html
Copyright © 2011-2022 走看看