请稍候,加载中....

MySQL 插入数据

INSERT INTO

MySQL 表中使用 INSERT INTO SQL语句来插入数据。

你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。

insert into 语法 1

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"。

insert into 语法 2

INSERT INTO table_name set  field1=value1, field2=value2,...fieldN=valueN

此种形式在字段较多情形下,可以防止字段与字段值不匹配

insert into  语法3 

可以从另外一张表中查询数据插入

insert into table1 select * from table2

 


REPLACE INTO

replace into 属于SQL扩展语句,当插入的行与已经存在的行存在主键或者唯一键冲突的时候,删除旧行,插入新行,否则直接插入新行

REPLACE INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

 


ON DUPLICATE KEY UPDATE

insert into ..... on duplicate key update在插入时,如果数据表中已经存在冲突的主键或者唯一键,那么将对已经存在的行进行update操作

假设数据表t1中存在a、b、c三个字段,并且a、b为唯一索引,其中某行记录为a=1

那么如下插入语句

INSERT INTO t1 (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

相当于

UPDATE t1 SET c=c+1 WHERE a=1;

如果 同时存在b=2的记录,那么相当于

UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1;

存在多行冲突的,只更新一行,所以需要慎重使用


Python学习手册-