MySQL 插入數(shù)據(jù)
MySQL 插入數(shù)據(jù)
MySQL 表中使用 INSERT INTO SQL語句來插入數(shù)據(jù)。
你可以通過 mysql> 命令提示窗口中向數(shù)據(jù)表中插入數(shù)據(jù),或者通過PHP腳本來插入數(shù)據(jù)。
語法
以下為向MySQL數(shù)據(jù)表插入數(shù)據(jù)通用的 INSERT INTO SQL語法:
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
如果數(shù)據(jù)是字符型,必須使用單引號或者雙引號,如:"value"。
通過命令提示窗口插入數(shù)據(jù)
以下我們將使用 SQL INSERT INTO 語句向 MySQL 數(shù)據(jù)表php_tbl 插入數(shù)據(jù)
實(shí)例
以下實(shí)例中我們將向php_tbl 表插入三條數(shù)據(jù):
root@host# mysql -u root -p password;Enter password:*******mysql> useDEMO;Database changed mysql> INSERT INTO user -> (user_title, user_author, submission_date) -> VALUES -> ("學(xué)習(xí) PHP", "PHP中文網(wǎng)", NOW());Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO user -> (user_title, user_author, submission_date) -> VALUES -> ("學(xué)習(xí) MySQL", "PHP中文網(wǎng)", NOW());Query OK, 1 rows affected, 1 warnings (0.01 sec) mysql> INSERT INTO user -> (user_title, user_author, submission_date) -> VALUES -> ("JAVA 教程", "PHP中文網(wǎng)", '2016-05-06');Query OK, 1 rows affected (0.00 sec)mysql>
注意: 使用箭頭標(biāo)記 -> 不是 SQL 語句的一部分,它僅僅表示一個新行,如果一條SQL語句太長,我們可以通過回車鍵來創(chuàng)建一個新行來編寫 SQL 語句,SQL 語句的命令結(jié)束符為分號 ;。
在以上實(shí)例中,我們并沒有提供user_id 的數(shù)據(jù),因為該字段我們在創(chuàng)建表的時候已經(jīng)設(shè)置它為 AUTO_INCREMENT(自動增加) 屬性。 所以,該字段會自動遞增而不需要我們?nèi)ピO(shè)置。實(shí)例中 NOW() 是一個 MySQL 函數(shù),該函數(shù)返回日期和時間。
接下來我們可以通過以下語句查看數(shù)據(jù)表數(shù)據(jù):
讀取數(shù)據(jù)表:
select * from user;
使用PHP腳本插入數(shù)據(jù)
你可以使用PHP 的 mysqli_query() 函數(shù)來執(zhí)行 SQL INSERT INTO命令來插入數(shù)據(jù)。
該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回 TRUE,否則返回 FALSE。
語法
mysqli_query(connection,query,resultmode);
參數(shù) | 描述 |
connection | 必需。規(guī)定要使用的 MySQL 連接。 |
query | 必需,規(guī)定查詢字符串 |
resultmode | 可選。一個常量。可以是下列值中的任意一個:
|
實(shí)例
以下實(shí)例中程序接收用戶輸入的三個字段數(shù)據(jù),并插入數(shù)據(jù)表中:
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql服務(wù)器主機(jī)地址
$dbuser = 'root'; // mysql用戶名
$dbpass = 'root'; // mysql用戶名密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('連接失敗: ' . mysqli_error($conn));
}
echo '連接成功<br />';
// 設(shè)置編碼,防止中文亂碼
mysqli_query($conn , "set names utf8");
$runoob_title = '學(xué)習(xí) Python';
$runoob_author = 'PHP中文網(wǎng)';
$submission_date = '2016-03-06';
$sql = "INSERT INTO user ".
"(user_title,user_author, submission_date) ".
"VALUES ".
"('$user_title','$user_author','$submission_date')";
mysqli_select_db( $conn, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法插入數(shù)據(jù): ' . mysqli_error($conn));
}
echo "數(shù)據(jù)插入成功\n";
mysqli_close($conn);
?>
對于含有中文的數(shù)據(jù)插入,需要添加 mysqli_query($conn , "set names utf8"); 語句。
接下來我們可以通過以下語句查看數(shù)據(jù)表數(shù)據(jù):
select * from user;
相關(guān)課程推薦:插入數(shù)據(jù)