如果插入的数据是字符型,必须使用单引号或者双引号,如:"value"。
mysql插入数据有以下几种方式:
一、简写方式
这种方式虽然非常简单,但是VALUES后面的值必须和表中的类顺序对应,且类型要保持一直,即使表中某一个列不需要值也必须赋值为null,比如我们的主键id设置的是递增实际上是不用设置值的,但是使用这种方式必须赋值为null
不推荐的原因:在实际开发中如果使用此方法进行插入数据,后面表进行了改动(比如字段顺序改变了)那么整个语句都将报错,扩展性及其差,且维护起来比较困难。
格式:
INSERT INTO 表名 VALUES(值1,值2);
二、常用方式
格式:
INSERT INTO 表名(字段1,字段2) VALUES(值1,值2);
三、REPLACE INSERT语句
此语句的作用是当我们在插入一条数据时,如果此条已经存在,那么先删除原来存在的数据再添加插入的数据,如果不存在那么直接插入新的数据。注意:却分是否存在是通过主键来确定的。
格式:
REPLACE INTO 表名(字段1,字段2) VALUES(值1,值2);
四、INSERT IGNORE INTO 语句
作用是如果插入的数据已经存在那么就忽略插入的数据(也就是不改变原来的数据),如果不存在则插入新的数据。注意:却分是否存在是通过主键来确定的。
格式:
INSERT IGNORE INTO 表名(字段1,字段2) VALUES(值1,值2);
五、批量插入
格式:
INSERT INTO 表名(字段1,字段2,字段3) VALUES(值1,值2,值3);INSERT INTO 表名(字段1,字段2,字段3) VALUES(值1,值2,值3);
六、INSERT SELECT 语句
此语句的作用是将SELECT语句的结果插入表中,可实现数据迁移。
格式:
IGNORE INTO 插入的表名(字段1,字段2,字段3) SELECT 被查询的字段1,被查询的字段2 from 被查询的表名;