MySQL INSERT 插入資料
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 資料表 ITREAD01_tbl 插入資料
例項
以下例項中我們將向 ITREAD01_tbl 表插入三條資料:
root@host# mysql -u root -p password; Enter password:******* mysql> use ITREAD01; Database changed mysql> INSERT INTO ITREAD01_tbl -> (ITREAD01_title, ITREAD01_author, submission_date) -> VALUES -> ("學習 SQL", "入門教學", NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO ITREAD01_tbl -> (ITREAD01_title, ITREAD01_author, submission_date) -> VALUES -> ("學習 MySQL", "入門教學", NOW()); Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO ITREAD01_tbl -> (ITREAD01_title, ITREAD01_author, submission_date) -> VALUES -> ("JAVA 教程", "ITREAD01.COM", '2016-05-06'); Query OK, 1 rows affected (0.00 sec) mysql>
注意: 使用箭頭標記 -> 不是 SQL 語句的一部分,它僅僅表示一個新行,如果一條SQL語句太長,我們可以通過回車鍵來建立一個新行來編寫 SQL 語句,SQL 語句的命令結束符為分號 ;。
在以上例項中,我們並沒有提供 ITREAD01_id 的資料,因為該欄位我們在建立表的時候已經設定它為 AUTO_INCREMENT(自動增加) 屬性。 所以,該欄位會自動遞增而不需要我們去設定。例項中 NOW() 是一個 MySQL 函式,該函式返回日期和時間。
接下來我們可以通過以下語句檢視資料表資料:
讀取資料表:
select * from ITREAD01_tbl;
使用PHP指令碼插入資料
你可以使用PHP 的 mysqli_query() 函式來執行 SQL INSERT INTO命令來插入資料。
該函式有兩個引數,在執行成功時返回 TRUE,否則返回 FALSE。
語法
mysqli_query(connection,query,resultmode);
引數 | 描述 |
---|---|
connection | 必需。規定要使用的 MySQL 連線。 |
query | 必需,規定查詢字串。 |
resultmode |
可選。一個常量。可以是下列值中的任意一個:
|
例項
以下例項中程式接收使用者輸入的三個欄位資料,並插入資料表中:
新增資料
$dbhost = 'localhost:3306'; // 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");
$ITREAD01_title = '學習 Python';
$ITREAD01_author = 'ITREAD01.COM';
$submission_date = '2016-03-06';
$sql = "INSERT INTO ITREAD01_tbl ".
"(ITREAD01_title,ITREAD01_author, submission_date) ".
"VALUES ".
"('$ITREAD01_title','$ITREAD01_author','$submission_date')";
mysqli_select_db( $conn, 'ITREAD01' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法插入資料: ' . mysqli_error($conn));
}
echo "資料插入成功\n";
mysqli_close($conn);
對於含有中文的資料插入,需要新增 mysqli_query($conn , "set names utf8"); 語句。
接下來我們可以通過以下語句檢視資料表資料:
讀取資料表:
select * from ITREAD01_tbl;