(四)DML数据操作

INSERT 针对于数据的插入

DELETE 针对于数据的删除

UPDATE 针对于数据的修改

INSERT语句

在数据表有数据的情况下,我们可以使用INSERT语句向数据表中添加数据

INSERT INTO 数据表名

(字段名1,字段2...)

{VALUES | VALUE}

(值1,值2...)【,(值列表)】...;

上述语法中只需保证字段名的编写顺序与值的编写顺序相同即可

PS:如果我们为每一列都要指定注入的值,那么表名后面就不需要罗列插入的列名了

除此之外,还有一种为指定字段添加数据的方式

INSERT 【INTO】数据表名

SET 字段名1 = 值1【,字段名2 = 值2】...;

REPLACE语句

replace语句的语法格式有三种语法格式

语法格式1:
replace into 表名 [(字段列表)] values (值列表);
语法格式2:
replace into 目标表名[(字段列表1) select (字段列表2) from 源表 [where 条件表达式];
语法格式3:                    
replace into 表名 set 字段1=值1, 字段2=值2;

REPLACE与INSERT语句区别:

replace语句的功能与insert语句的功能基本相同,不同之处在于:使用replace语句向表插入新记录时,如果新记录的主键值或者唯一性约束的字段值与已有记录相同,则已有记录先被删除(注意:已有记录删除时也不能违背外键约束条件),然后再插入新记录。

使用replace的最大好处就是可以将delete和insert合二为一(效果相当于更新),形成一个原子操作,这样就无需将delete操作与insert操作置于事务中了

DELETE语句 || TRUNCATE语句

DELETE:删除数据,保留表结构,可以回滚。如果数据量较大,运行速度不及TRUNCATE。

TRUNCATE:删除所有数据,保留表结构,不能够回滚。一次全部删除所有数据,速度相对很快。

DROP:删除数据和表结构,删除速度最快。
 

DELETE/TRUNCATE FROM 表名 【WHERE 条件】;

UPDATE语句

UPDATE 表名 SET 列名 = 值 [,列名 = 值,列名 = 值,列名 = 值,...] [WHERE 条件];

你可能感兴趣的:(数据库SQL,mysql)