MySQL学习之数据库操作DML详解小白篇

1.插入语句
1.1插入一行

有两种:

1.以小括号的形式

insert into + 表名(列1,列2...) +values(值1,值2...)

这里注意:如果表名后边不加小括号对应内容,那么默认就是添加所有列

2.以set形式

insert into + 表名

set 表中的某一个字段=要插入的值,表中的某一个字段=要插入的值,表中的某一个字段=要插入的值…

1.2插入多行

insert into + 表名(列名) + values(值1,值2…),(值1,值2…)…

注意这里不支持多行插入和加入查询语句进行插入,主键一样不能为空和重复

1.3插入查询语句

insert into + 表名(列名) + select语句

注意这里查询语句先运行然后把查询的结果集插入到表里边不过要与表名后边的列对应.主键不能重复且不能为空,否则插入不成功

2.修改语句
2.1修改单表记录

update 表名

set + 列=新值,列=新值

where +筛选条件

2.1修改多表记录

1.使用sql92语法

update+表1(别名),表2(别名)

set+列=值,列=值…

where+连接条件和筛选条件

2.使用sql99语法

update+表1+(别名)

inner|left|right join 表2 别名

on+连接条件

set+列=值,列=值…

where+筛选条件

3.删除语句
3.1方式1使用delete删除

1.单表删除

delete from + 表名 + where + 筛选条件

会把一整行的对应数据全部删除

2.多表删除

delete 表

from 表1

inner|left|right| join 表2

on 连接条件

where +筛选条件

这是sql99语法,同样支持sql92语法。delete后边的表是要删除内容的表

3.2方式2使用truncate删除

truncate table +表名

直接删除整个表的数据

3.3使用truncate和delete删除的区别

1.delete可以加where条件而truncat不能

2.truncat效率低一点

3.假如删除的表有自增长序列那么delete删除后再添加就会从断点开始

而truncat是从1开始

4.truncat删除没有返回值而delete有返回值

5.truncat可以不能回滚delete不能回滚

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据