MySQL 表中使用 INSERT INTO SQL語句來插入數(shù)據。
你可以通過 mysql> 命令提示窗口中向數(shù)據表中插入數(shù)據,或者通過PHP腳本來插入數(shù)據。
以下為向MySQL數(shù)據表插入數(shù)據通用的 INSERT INTO SQL語法:
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
如果數(shù)據是字符型,必須使用單引號或者雙引號,如:"value"。
以下我們將使用 SQL INSERT INTO 語句向 MySQL 數(shù)據表 nhooo_tbl 插入數(shù)據
以下示例中我們將向 nhooo_tbl 表插入三條數(shù)據:
root@host# mysql -u root -p password; Enter password:******* mysql> use NHOOO; Database changed mysql> INSERT INTO nhooo_tbl -> (nhooo_title, nhooo_author, submission_date) -> VALUES -> ("學習 PHP", "菜鳥教程", NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO nhooo_tbl -> (nhooo_title, nhooo_author, submission_date) -> VALUES -> ("學習 MySQL", "菜鳥教程", NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO nhooo_tbl -> (nhooo_title, nhooo_author, submission_date) -> VALUES -> ("JAVA 教程", "CAINIAOPLUS.COM", '2016-05-06'); Query OK, 1 rows affected (0.00 sec) mysql>
注意:使用箭頭標記 -> 不是 SQL 語句的一部分,它僅僅表示一個新行,如果一條SQL語句太長,我們可以通過回車鍵來創(chuàng)建一個新行來編寫 SQL 語句,SQL 語句的命令結束符為分號 ;。
在以上示例中,我們并沒有提供 nhooo_id 的數(shù)據,因為該字段我們在創(chuàng)建表的時候已經設置它為 AUTO_INCREMENT(自動增加) 屬性。 所以,該字段會自動遞增而不需要我們去設置。示例中 NOW() 是一個 MySQL 函數(shù),該函數(shù)返回日期和時間。
接下來我們可以通過以下語句查看數(shù)據表數(shù)據:
select * from nhooo_tbl;
輸出結果:
你可以使用PHP 的 mysqli_query() 函數(shù)來執(zhí)行 SQL INSERT INTO命令來插入數(shù)據。
該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回 TRUE,否則返回 FALSE。
mysqli_query(connection,query,resultmode);
參數(shù) | 描述 |
---|---|
connection | 必需。指定要使用的 MySQL 連接。 |
query | 必需,指定查詢字符串。 |
resultmode | 可選。一個常量??梢允窍铝兄抵械娜我庖粋€:
|
以下示例中程序接收用戶輸入的三個字段數(shù)據,并插入數(shù)據表中:
<?php $dbhost = 'localhost'; // mysql服務器主機地址 $dbuser = 'root'; // mysql用戶名 $dbpass = '123456'; // mysql用戶名密碼 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('連接失敗: ' . mysqli_error($conn)); } echo '連接成功<br />'; // 設置編碼,防止中文亂碼 mysqli_query($conn , "set names utf8"); $nhooo_title = '學習 Python'; $nhooo_author = 'CAINIAOPLUS.COM'; $submission_date = '2019-06-08'; $sql = "INSERT INTO nhooo_tbl ". "(nhooo_title,nhooo_author, submission_date) ". "VALUES ". "('$nhooo_title','$nhooo_author','$submission_date')"; mysqli_select_db( $conn, 'nhooo' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('無法插入數(shù)據: ' . mysqli_error($conn)); } echo "數(shù)據插入成功\n"; mysqli_close($conn); ?>
對于含有中文的數(shù)據插入,需要添加 mysqli_query($conn , "set names utf8"); 語句。
接下來我們可以通過以下語句查看數(shù)據表數(shù)據:
select * from nhooo_tbl;
輸出結果: