一 介绍
在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括
- 使用INSERT实现数据的插入
- UPDATE实现数据的更新
- 使用DELETE实现数据的删除
- 使用SELECT查询数据。
二 插入数据 INSERT
1
2
3
4
5
6
7
8
9
10
11
|
#语法一: 按字段进行插入 insert into 表(字段1,字段2 ...) values (值1,值2 ...); #语法二:按字段顺序插入 insert into 表 values (值1,值2 ...); #语法三: 插入多条记录 insert into 表 values (值1,值2 ...) ,(值1,值2 ...) ,(值1,值2 ...); #语法四:插入查询结果 insert into 表(字段1,字段2 ...) select 字段1,字段2 ... from 表; |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
四种插入数据方式: 一.插入一条数据 insert into student(id,name,age,sex,salary) values(1,'小猪',18,'男',2500); 二.插入多条数据 insert into student(id,name,age,sex,salary) values(1,'小猪',18,'男',2500) ,(2,'小猪2',28,'男',2500),(3,'小猪3',38,'男',2500); 三.直接插入 insert into student values(1,'小猪',18,'男',2500); ps:如果插入的数据个数和位置正好与表的字段个数和位置匹配,则可以省略表名后面的字段定义 四.查询并插入 insert into student(id,name,age) select id,name,age from tb ; ps:从tb表中查询数据并插入到 student表中
三 更新操作 UPDATE
1
2
3
4
5
|
#语法一: 更新整表数据 update 表 set 字段1= '值1' , 字段2= '值2' ... ; #语法二:更新符合条件字段3的数据 update 表 set 字段1= '值1' , 字段2= '值2' ... where 字段3 = 值3; |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
方式一: update student set name = '猪猪哥' ; ps: student表中所有的 name 字段 的值 全部被更新为 '猪猪哥' 方式二: update student set name= '猪猪哥' ,age =13 where id = 2; ps: 更新 student 表中 name 和 age 字段的值,并且只更新 id = 2的一条记录
四 删除操作 DELETE
1
2
3
4
5
|
#语法一:整表数据删除 delete from 表 ; #语法二:删除符合 where 后条件的数据 delete from 表 where 字段1=值1; |
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
方式一: delete from student; ps:删除 student 表中所有的数据,注意:如果有自增主键,主键记录的值不会被删除. 方式二: delete from student where id=1; ps:只删除id 为1的数据. 方式三: truncate student; ps:清空表
truncate和delete的区别?[面试题]
1、TRUNCATE 在各种表上无论是大的还是小的都非常快。而DELETE 操作会被表中数据量的大小影响其执行效率. 2、TRUNCATE是一个DDL语言而DELETE是DML语句,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE不能触发触发器,DELETE会触发触发器。 4、当表被清空后表和表的索引和自增主键将重新设置成初始大小,而delete则不能。
五 查询操作 SELECT
根据查询功能的不同,我们可以为查询划分为以下几类:
1.单表查询
具体操作详见: http://www.cnblogs.com/aaronthon/p/8479831.html
2.多表查询