INSERT:将一行或者多行插入到表中
INSERT INTO table(col1, col2...) //制定列名(若一一对应则可以忽略)
VALUES(values1, values2...);//对应属性值
插入多行:
INSERT (IGNORE) INTO table(col1, col2...) //制定列名, 可以选择忽略错误继续后面的插入
VALUES(values1, values2...), (values1, values2...), ... ; //对应属性值
不必为自动递增列(AUTO_INCREMENT)赋值,系统会自动加一
使用SELECT返回值来填充表:
INSERT INTO table_1
SELECT c1, c2 from table_2
使用LIKE复制表结构: create table like tablex;
完全复制表的操作:
1. creat table_2 like table_1
2.insert into table_2 select * from table_1;
但是不可以添加违反主键或者UNIQUE约束的行,否则报错
(UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。)
ON DUPLICATE KEY UPDATE(当插入数据不存在(且符合UNIQUE约束和主键约束)时插入,否则按照其后面的语句进行更新)
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
<=>
UPDATE table SET c=c+1 WHERE a=1;