八:数据的增删改

插入: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不可以回滚

 

posted @ 2020-12-19 20:50  晴晴小可爱的小弟  阅读(84)  评论(0编辑  收藏  举报