Mysql插入记录 instert语句详解
2019/10/10/17:36:06 阅读:2424 来源:谷歌SEO算法 标签:
SEO知识
在mysql中我们要保存记录只要使用insert就可以把数据插入到mysql数据库并形成一条记录保存在数据库中了,下面我来简单介绍insert使用方法.
Mysql 语句之插入记录 instert
单行插入,代码如下:
- insertinto表名(字段名,字段名,…)values(字段值,字段值,…);
- insertintoA(A_e,A_f,A_a)values(‘字符’,10,01);
多行插入,代码如下:
- insertinto表名values(字段值,字段值,…),(字段值,字段值,…);
- insertintoAvalues(‘字符’,10,01),(‘字符’,10,01);
插入记录后返回该记录ID,Mysql提供了一个LAST_INSERT_ID()的函数,代码如下:
- LAST_INSERT_ID()(withnoargument)returnsthefirstautomaticallygeneratedvaluethatwassetforanAUTO_INCREMENTcolumnbythemostrecentlyexecutedINSERTorUPDATEstatementtoaffectsuchacolumn.Forexample,afterinsertingarowthatgeneratesanAUTO_INCREMENTvalue,youcangetthevaluelikethis:
- mysql>SELECTLAST_INSERT_ID();
- ->195
简单说来,就是这个函数将返回插入的那条记录在表中自增的那个字段的值,一般我们都给那个自增字段命名为ID,这样就可以返回刚插入的记录的ID值了.
一个简单的例子,代码如下:
- $query="INSERTINTO`testtable`(`clou1`,`clou2`)VALUES('testvalue','test')";
- mysql_query($query);
- $query="SELECTLAST_INSERT_ID()";
- $result=mysql_query($query);
- $rows=mysql_fetch_row($result);
- echo$rows[0];
mysql 记录不存在时插入,记录存在则更新的实现方法,代码如下:
- mysql>truncate`200702`;
- QueryOK,0rowsaffected(0.01sec)
- mysql>select*from`200702`;
- Emptyset(0.01sec)
- mysql>insertinto`200702`(`domain`,`2nd_domain`,`tld`,`query_ns1`,`query_ns2`,`report_date`)values('dnspod.com','dnspod','com',1000,2000,'2007-02-04')ONDUPLICATEKEYUPDATE`query_ns1`=`query_ns1`+1000,`query_ns2`=`query_ns2`+2000;
- QueryOK,1rowaffected(0.00sec)--phpfensi.com
当然,建表的时候,千万别忘记了给domain做一个unique.
UNIQUE KEY `domain` (`domain`,`report_date`)
热门评论