MySQL-数据操纵语言

DML(Data Manipulation Language)

插入语句

方式一:

语法:

  insert into 表名(列名,...)value(值1,...)
  • 注意点:
    1. 插入得值得类型要与列的类型一致或兼容

    2. 不可以为null的列必须插入值

    3. 列的顺序可调换,但必须对应

    4. 列数和值的个数必须一致

    5. 可以省略列名,默认所有列,而且顺序与表中顺序一致

方式二:

  insert into 表名

  set 列名=值,...,...;

两种方式:

  1. 方式一可以插入多列 values(xx),(xxx);

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

    insert into beauty(id,name,phone)
    select id,boyname,'1234567'
    from boys where id<3;
    

修改语句

  1. 修改单表的记录

  2. 修改多表的记录

  3. 修改单表的记录

       update 表名
    
       set 列名=值
    
       where 筛选条件;
    
    
  4. 修改多表的记录

    sql92

       update 表1 别名,表2 别名...
    
       set 列名=值
    
       where 连接条件
    
       and 筛选条件
    
    
    

    sql99

       update 表1 别名
    
       inner|left|right join 表2 别名
    
       on 连接条件
    
       set 列=值
    
       where 筛选条件
    
    
    

删除语句

方式一:delete

  1. 单表的删除

       语法:delete from 表名
    
    ​	 where 筛选条件;
    
    
  2. 多表的删除

    sql92

    
       delete 表1的别名,表2的别名
    
       from  表1 别名,表2 别名
    
       where 连接条件
    
       and 筛选条件;
    
    

    sql99

​	delete 表1的别名,表2的别名

​	from 表1 别名

​	inner|left|right join 表2 别名

​	on  连接条件

​	where 筛选条件

方式二:truncate

  语法:truncate table 表名;

delete truncate 区别

  1. delete 可以加where条件,truncate不能加

  2. truncate 效率更高

  3. 假如删除的表中有自增长列

    delete删除后再插入数据,自增长列从断点开始

    truncate删除后,再插入数据,自增长列从1开始

  4. truncate删除后没有返回值,delete删除后有返回值

  5. truncate删除不能回滚,delete删除可以回滚

posted @ 2020-09-15 16:36  LongSL  阅读(150)  评论(0)    收藏  举报