亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL中insert語句的使用與優化教程

2024-07-24 13:08:52
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL中insert語句的使用與優化教程,使用insert語句插入數據是MySQL入門學習中的基礎知識,需要的朋友可以參考下
 

MySQL 表中使用 INSERT INTO SQL語句來插入數據。
你可以通過 mysql> 命令提示窗口中向數據表中插入數據,或者通過PHP腳本來插入數據。
語法
以下為向MySQL數據表插入數據通用的 INSERT INTO SQL語法:

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

如果數據是字符型,必須使用單引號或者雙引號,如:"value"。
通過命令提示窗口插入數據
以下我們將使用 SQL INSERT INTO 語句向 MySQL 數據表 runoob_tbl 插入數據
實例
以下實例中我們將想 runoob_tbl 表插入三條數據:

root@host# mysql -u root -p password;Enter password:*******mysql> use RUNOOB;Database changedmysql> INSERT INTO runoob_tbl    ->(runoob_title, runoob_author, submission_date)   ->VALUES   ->("Learn PHP", "John Poul", NOW());Query OK, 1 row affected (0.01 sec)mysql> INSERT INTO runoob_tbl   ->(runoob_title, runoob_author, submission_date)   ->VALUES   ->("Learn MySQL", "Abdul S", NOW());Query OK, 1 row affected (0.01 sec)mysql> INSERT INTO runoob_tbl   ->(runoob_title, runoob_author, submission_date)   ->VALUES   ->("JAVA Tutorial", "Sanjay", '2007-05-06');Query OK, 1 row affected (0.01 sec)mysql>


注意: 使用箭頭標記(->)不是SQL語句的一部分,它僅僅表示一個新行,如果一條SQL語句太長,我們可以通過回車鍵來創建一個新行來編寫SQL語句,SQL語句的命令結束符為分號(;)。
在以上實例中,我們并沒有提供 runoob_id 的數據,因為該字段我們在創建表的時候已經設置它為 AUTO_INCREMENT(自動增加) 屬性。 所以,該字段會自動遞增而不需要我們去設置。實例中 NOW() 是一個 MySQL 函數,該函數返回日期和時間。
使用PHP腳本插入數據
你可以使用PHP 的 mysql_query() 函數來執行 SQL INSERT INTO命令來插入數據。
該函數有兩個參數,在執行成功時返回 TRUE,否則返回 FALSE。
語法

bool mysql_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('Could not connect: ' . 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 = "INSERT INTO runoob_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('Could not enter data: ' . mysql_error());}echo "Entered data successfully/n";mysql_close($conn);}else{?><form method="post" action="<?php $_PHP_SELF ?>"><table width="600" border="0" cellspacing="1" cellpadding="2"><tr><td width="250">Tutorial Title</td><td><input name="runoob_title" type="text" id="runoob_title"></td></tr><tr><td width="250">Tutorial Author</td><td><input name="runoob_author" type="text" id="runoob_author"></td></tr><tr><td width="250">Submission Date [ yyyy-mm-dd ]</td><td><input name="submission_date" type="text" id="submission_date"></td></tr><tr><td width="250"> </td><td> </td></tr><tr><td width="250"> </td><td><input name="add" type="submit" id="add" value="Add Tutorial"></td></tr></table></form><?php}?></body></html>

在我們接收用戶提交的數據時,為了數據的安全性我們需要使用 get_magic_quotes_gpc() 函數來判斷特殊字符的轉義是否已經開啟。如果這個選項為off(未開啟),返回0,那么我們就必須調用addslashes 這個函數來為字符串增加轉義。
義。
你也可以添加其他檢查數據的方法,比如郵箱格式驗證,電話號碼驗證,是否為整數驗證等。


優化 insert 性能
mysql 的 insert 語句語法

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

提高insert 性能的方法
1.一條sql語句插入多條數據

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

可以寫成

 

復制代碼代碼如下:

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

 

 

 

2.使用事務

START TRANSACTION; INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0); INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_1', 'content_1', 1); ... COMMIT; 

注意
1.sql語句長度有限制,合并sql語句時要注意。長度限制可以通過max_allowed_packet配置項修改,默認為1M。
2.事務太大會影響執行效率,mysql有innodb_log_buffer_size配置項,超過這個值會使用磁盤數據,影響執行效率。

關于事務的配置項說明:
1.innodb_buffer_pool_size
如 果用Innodb,那么這是一個重要變量。相對于MyISAM來說,Innodb對于buffer size更敏感。MySIAM可能對于大數據量使用默認的key_buffer_size也還好,但Innodb在大數據量時用默認值就感覺在爬了。 Innodb的緩沖池會緩存數據和索引,所以不需要給系統的緩存留空間,如果只用Innodb,可以把這個值設為內存的70%-80%。和 key_buffer相同,如果數據量比較小也不怎么增加,那么不要把這個值設太高也可以提高內存的使用率。

2.innodb_additional_pool_size 
這個的效果不是很明顯,至少是當操作系統能合理分配內存時。但你可能仍需要設成20M或更多一點以看Innodb會分配多少內存做其他用途。

3.innodb_log_file_size
對于寫很多尤其是大數據量時非常重要。要注意,大的文件提供更高的性能,但數據庫恢復時會用更多的時間。我一般用64M-512M,具體取決于服務器的空間。

4.innodb_log_buffer_size 
默認值對于多數中等寫操作和事務短的運用都是可以的。如 果經常做更新或者使用了很多blob數據,應該增大這個值。但太大了也是浪費內存,因為1秒鐘總會 flush(這個詞的中文怎么說呢?)一次,所以不需要設到超過1秒的需求。8M-16M一般應該夠了。小的運用可以設更小一點。

5.innodb_flush_log_at_trx_commit
抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了調整這個值。默認值1的意思是每一次事務提交或事務外的指令都需要把日志寫入(flush)硬盤,這是很費時的。特別是使用電 池供電緩存(Battery backed up cache)時。設成2對于很多運用,特別是從MyISAM表轉過來的是可以的,它的意思是不寫入硬盤而是寫入系統緩存。日志仍然會每秒flush到硬 盤,所以你一般不會丟失超過1-2秒的更新。設成0會更快一點,但安全方面比較差,即使MySQL掛了也可能會丟失事務的數據。而值2只會在整個操作系統 掛了時才可能丟數據。



注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线观看视频亚洲| 亚洲欧美第一页| 91欧美精品成人综合在线观看| 91牛牛免费视频| 亚洲天堂免费观看| 日韩视频免费在线| 国产精品久久久久久亚洲影视| 国产精品 欧美在线| 亚洲人免费视频| 欧美电影《睫毛膏》| 91精品91久久久久久| 国产一区二区黑人欧美xxxx| 日韩电影免费观看中文字幕| 精品偷拍一区二区三区在线看| 亚洲色图25p| 91精品国产综合久久香蕉的用户体验| 欧美色道久久88综合亚洲精品| 久久国产视频网站| 欧美夫妻性视频| 日本sm极度另类视频| 精品无人国产偷自产在线| 亚洲美女视频网站| 久久精品国产清自在天天线| 亚洲少妇激情视频| 亚洲热线99精品视频| 欧美天天综合色影久久精品| 午夜剧场成人观在线视频免费观看| 国产午夜精品一区理论片飘花| 欧美色播在线播放| 欧美日韩在线视频一区二区| 综合136福利视频在线| 久久久久久久999| 黑人巨大精品欧美一区免费视频| 欧美性猛交xxxx久久久| 国产精品女主播视频| 色综久久综合桃花网| 性色av一区二区三区在线观看| 国产欧美一区二区白浆黑人| 色偷偷av亚洲男人的天堂| 欧美国产日韩在线| 91精品国产91久久| 亚洲一区二区三区香蕉| 亚洲在线第一页| 色诱女教师一区二区三区| 日韩av不卡在线| 国产女同一区二区| 日本欧美爱爱爱| 亚洲视频在线观看免费| 国内免费精品永久在线视频| 精品亚洲va在线va天堂资源站| 日韩欧美aaa| 正在播放国产一区| 亚洲人成77777在线观看网| 欧美成人黄色小视频| 色老头一区二区三区在线观看| 韩国福利视频一区| 亚洲电影第1页| 成人福利网站在线观看11| 亚洲另类激情图| 日韩在线视频中文字幕| 国产99久久精品一区二区 夜夜躁日日躁| 国产一区二区三区毛片| 日本精品久久电影| 91久久嫩草影院一区二区| 91精品久久久久久| 色偷偷88888欧美精品久久久| 国产在线视频一区| 亚洲精品不卡在线| 亚洲国产精品久久久久久| 国产精品美女久久久久久免费| 久久免费视频这里只有精品| 亚洲电影免费观看高清完整版| www欧美xxxx| 91麻豆桃色免费看| 亚洲精品久久久久久下一站| 国产精品va在线播放我和闺蜜| 国产欧美一区二区白浆黑人| 久久精品这里热有精品| 欧美性videos高清精品| 亚洲人成欧美中文字幕| 欧美日本亚洲视频| 久久久欧美一区二区| 成人激情黄色网| 国产精品av电影| 久久久女人电视剧免费播放下载| 91精品国产91久久| 亚洲午夜精品久久久久久性色| 精品成人乱色一区二区| 亚洲精品日韩激情在线电影| 欧美激情在线观看| 亚洲视频欧美视频| 日韩av在线电影网| 日韩中文字幕在线视频| 夜夜狂射影院欧美极品| 最近的2019中文字幕免费一页| 欧美激情三级免费| 亚洲人成网站免费播放| 国产精品青青在线观看爽香蕉| 亚洲午夜小视频| 欧美在线国产精品| 色偷偷av一区二区三区| 亚洲人在线视频| 国产日韩综合一区二区性色av| 91在线视频免费| 亚洲欧美国产精品| 91在线无精精品一区二区| 欧美午夜xxx| 久久久久久中文| 欧美视频不卡中文| 日韩欧美精品网址| 久久国产精品影视| 国产精品91在线| 尤物精品国产第一福利三区| 国产精品观看在线亚洲人成网| 国产精品视频导航| 久久国产天堂福利天堂| 欧美性猛交99久久久久99按摩| 日本成人在线视频网址| 91精品国产免费久久久久久| 久久久欧美精品| 国产大片精品免费永久看nba| 日韩动漫免费观看电视剧高清| 国产美女搞久久| 欧美福利视频在线观看| 日韩一区二区av| 国产精品人成电影在线观看| 18性欧美xxxⅹ性满足| 最近2019中文字幕在线高清| 国产精品444| 91久久精品视频| 最好看的2019的中文字幕视频| 欧美日韩免费区域视频在线观看| 国产日韩在线免费| 久久精视频免费在线久久完整在线看| 狠狠躁夜夜躁人人爽超碰91| 91欧美激情另类亚洲| 91精品久久久久久久久青青| 欧美日本中文字幕| www.日韩欧美| 91av在线视频观看| 日韩av在线免费观看| 日韩美女毛茸茸| 成人激情视频在线播放| 国产精品在线看| 色爱精品视频一区| 欧美日韩国产在线看| 亚洲视频第一页| 美女av一区二区三区| 欧美成人午夜免费视在线看片| 91美女福利视频高清| 国产丝袜一区视频在线观看| 久久综合九色九九| 国产精品扒开腿做爽爽爽男男| 国产视频综合在线| 亚洲天堂精品在线| 亚洲影院在线看| 精品中文字幕在线2019| 精品中文字幕在线观看| 日韩在线视频导航| 亚洲精品久久久久中文字幕欢迎你| 国产美女扒开尿口久久久| 国产精品久久久久aaaa九色| 亚洲va电影大全| 国产综合在线观看视频|