一共有3中插入的语句的语法格式
语法格式 INSERT [LOW_PRIORITY|DELAYED|HIGH PRIORITY] [IGNORE] [INTO] 数据表名 [(字段名,...)] VALUES(v1,v2,v3),(a1,a2,a3),(b1,b2,b3),... [ON DUPLICATE KEY UPDATE 字段名=表达式,...]
必须关键字
INSERT 数据表名称 VALUES (v1,v2,v3),(v4,v5,v6)
可选关键字
LOW_PRIORITY|DELAYED|HIGH PRIORITY ,执行的 SQL操作的优先级,DELAYED会先放到缓冲器,HIGH会高优先级执行
IGNORE: 执行SQL时,错误当成警告处理
INTO : 指定被操作的数据表
VALUES:插入的值,顺序相同,可以使用default值
[ON DUPLICATE KEY UPDATE 字段名=表达式,...] 如果遇到unique 或者 主键重复,可以使用UPDATE后的语句。
当遇到自增序列的时候,可以INSERT值为0或者NULL,数据库系统会自动处理。
同样,也可以只插入部分字段的数据
插入多行数据
插入多行数据,就是在values后面传入多行数据即可;
INSERT INTO testdb_05.staff_002 SET user_name='jaxm',user_age=22,user_position='DBA',user_profile ='DBA ENG';
一个数据表中查询的数据,插入到另外一个数据库表,要求字段数和字段类型都要相匹配。
UPDATE [LOW_PRIORITY][IGNORE] 数据表名 SET 字段一=值 [WHERE 条件表达式] [ORDER BY...] [LIMIT 行数]
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM 数据表名 [WHERE 条件表达式] [ORDER BY] [LIMIT 行]
字段解释:
需要从表中删除所有的行,可以使用TRANCATE TABLE来进行操作,TRUNCATE TABLE
后,数据被删除并且无法恢复,使用的时候要特别谨慎。
DELETE 和 TRUNCATE的区别: