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

可選。一個常量。可以是下列值中的任意一個:

  • MYSQLI_USE_RESULT(如果需要檢索大量資料,請使用這個)
  • MYSQLI_STORE_RESULT(預設)

例項

以下例項中程式接收使用者輸入的三個欄位資料,並插入資料表中:

新增資料

<?php $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;