美文网首页
Mysql中插入数据语句

Mysql中插入数据语句

作者: 爱折腾的傻小子 | 来源:发表于2018-10-29 11:11 被阅读16次

    在mysql中insert into、insert into ... set ...、insert ignore into、replace into都是插入数据的语句。

    insert into 的 SQL语法:

    • 添加一行数据(如果数据时字符型,需要加上单/双引号)
     INSERT INTO table_name (field1,field2,...)  
    VALUES (value1,value2,...);
    

    这种方式是指定字段添加对应的数据。

    • 添加一行数据(给当前表中所有字段都加上数据)
     INSERT INTO table_name VALUES (value1,...)
    

    这里需要给所有字段都加上数据(id主键自增可以使用NULL代替)。

    • table_name:表名称。(mysql推荐给表名称、字段加上反引号(``),防止与mysql中的关键字冲突)
    • INSERT INTO 可以插入相同重复的数据,而INSERT IGNORE INTO不允许插入相同的重复数据。

    insert into ... set ...的 SQL 语法:

    • insert into ... set ... 作为 insert into语法的扩展插入一行数据。(该语法在php中有时使用起来比较方便)
     INSERT INTO table_name SET field=value,field=value...
    
    • 使用举例:
     INSERT INTO test SET `name`='hello',`age`=20;
    

    Insert ignore into 的 SQL语法:

    • insert ignore intoinsert into的用法一致。INSERT IGNORE会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。
     insert into test(`name`,`age`) values('nihao',29);
     -> Query OK, 1 row affected (0.00 sec)
     insert ignore into test(`name`,`age`) values('nihao',29);
     -> Query OK, 0 row affected (0.00 sec)
    

    INSERT IGNORE INTO当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。


    replace into 的 SQL语法:

    • repalce的运行和INSERT很相似。replace参考
    • 如果存在primary 或 unique相同的记录,则先删除掉。再插入新记录。(假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。 )
    • 除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。
    • replace 的三种形式:repalce参看文档
      1.replace into table_name (field,...) values(value,...)
      2.replace into table_name (filed,...) select ...
      3.replace into table_name set field=value,...
      replace into test (`name`,`age`) values ('ni',25);
      replace into test (`name`,`age`) select 'ss',20
      replace into test set `name`='us',`age`=24
      

    相关文章

      网友评论

          本文标题:Mysql中插入数据语句

          本文链接:https://www.haomeiwen.com/subject/rnubyttx.html