当前位置:知识问问>生活百科>MySQL中insert语句的使用与优化教程

MySQL中insert语句的使用与优化教程

2024-09-05 05:14:46 编辑:join 浏览量:579

MySQL中insert语句的使用与优化教程

MySQL表中使用INSERTINTOSQL语句来插入数据。

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

语法

以下为向MySQL数据表插入数据通用的INSERTINTOSQL语法:

INSERTINTOtable_name(field1,field2,...fieldN)VALUES(value1,value2,...valueN);

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

通过命令提示窗口插入数据

以下我们将使用SQLINSERTINTO语句向MySQL数据表runoob_tbl插入数据

实例

以下实例中我们将想runoob_tbl表插入三条数据:

root@host#mysql-uroot-ppassword;Enterpassword:*******mysql>useRUNOOB;Databasechangedmysql>INSERTINTOrunoob_tbl->(runoob_title,runoob_author,submission_date)->VALUES->("LearnPHP","JohnPoul",NOW());QueryOK,1rowaffected(0.01sec)mysql>INSERTINTOrunoob_tbl->(runoob_title,runoob_author,submission_date)->VALUES->("LearnMySQL","AbdulS",NOW());QueryOK,1rowaffected(0.01sec)mysql>INSERTINTOrunoob_tbl->(runoob_title,runoob_author,submission_date)->VALUES->("JAVATutorial","Sanjay",'2007-05-06');QueryOK,1rowaffected(0.01sec)mysql>

注意:使用箭头标记(->)不是SQL语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;)。

在以上实例中,我们并没有提供runoob_id的数据,因为该字段我们在创建表的时候已经设置它为AUTO_INCREMENT(自动增加)属性。所以,该字段会自动递增而不需要我们去设置。实例中NOW()是一个MySQL函数,该函数返回日期和时间。

使用PHP脚本插入数据

你可以使用PHP的mysql_query()函数来执行SQLINSERTINTO命令来插入数据。

该函数有两个参数,在执行成功时返回TRUE,否则返回FALSE。

语法

boolmysql_query(sql,connection);

参数:

sql:必需,规定要发送的SQL查询,注意、查询字符串不应以分号结束。

connection:可选,规定SQL连接标识符,如果未规定,则使用上一个打开的连接。

实例

以下实例中程序接收用户输入的三个字段数据,并插入数据表中:

<html><head><title>向MySQL数据库添加数据</title></head><body><?phpif(isset($_POST['add'])){$dbhost='localhost:3036';$dbuser='root';$dbpass='rootpassword';$conn=mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn){die('Couldnotconnect:'.mysql_error());}if(!get_magic_quotes_gpc()){$runoob_title=addslashes($_POST['runoob_title']);$runoob_author=addslashes($_POST['runoob_author']);}else{$runoob_title=$_POST['runoob_title'];$runoob_author=$_POST['runoob_author'];}$submission_date=$_POST['submission_date'];$sql="INSERTINTOrunoob_tbl"."(runoob_title,runoob_author,submission_date)"."VALUES"."('$runoob_title','$runoob_author','$submission_date')";mysql_select_db('RUNOOB');$retval=mysql_query($sql,$conn);if(!$retval){die('Couldnotenterdata:'.mysql_error());}echo"Entereddatasuccessfully\n";mysql_close($conn);}else{?><formmethod="post"action="<?php$_PHP_SELF?>"><tablecellspacing="1"cellpadding="2"><tr><td>TutorialTitle</td><td><inputname="runoob_title"type="text"id="runoob_title"></td></tr><tr><td>TutorialAuthor</td><td><inputname="runoob_author"type="text"id="runoob_author"></td></tr><tr><td>SubmissionDate[yyyy-mm-dd]</td><td><inputname="submission_date"type="text"id="submission_date"></td></tr><tr><td></td><td></td></tr><tr><td></td><td><inputname="add"type="submit"id="add"value="AddTutorial"></td></tr></table></form><?php}?></body></html>

在我们接收用户提交的数据时,为了数据的安全性我们需要使用get_magic_quotes_gpc()函数来判断特殊字符的转义是否已经开启。如果这个选项为off(未开启),返回0,那么我们就必须调用addslashes这个函数来为字符串增加转义。

义。

你也可以添加其他检查数据的方法,比如邮箱格式验证,电话号码验证,是否为整数验证等。

优化insert性能

mysql的insert语句语法

insertinto`table`(`field1`,`field2`)values('value1','value2');

提高insert性能的方法

1.一条sql语句插入多条数据

INSERTINTO`insert_table`(`uid`,`content`,`type`)VALUES('userid_0','content_0',0);INSERTINTO`insert_table`(`uid`,`content`,`type`)VALUES('userid_1','content_1',1);

可以写成

复制代码代码如下:

INSERTINTO`insert_table`(`uid`,`content`,`type`)VALUES('userid_0','content_0',0),('userid_1','content_1',1); 

标签:MySQL

版权声明:文章由 知识问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshwenwen.com/life/369912.html
热门文章