MySQL 插入數(shù)據(jù)
MySQL 表中使用 INSERT INTO SQL語(yǔ)句來(lái)插入數(shù)據(jù)萝映。
你可以通過(guò) mysql> 命令提示窗口中向數(shù)據(jù)表中插入數(shù)據(jù)琐簇,或者通過(guò)PHP腳本來(lái)插入數(shù)據(jù)。
語(yǔ)法
以下為向MySQL數(shù)據(jù)表插入數(shù)據(jù)通用的 INSERT INTO SQL語(yǔ)法:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
如果數(shù)據(jù)是字符型究西,必須使用單引號(hào)或者雙引號(hào)卦碾,如:"value"。
通過(guò)命令提示窗口插入數(shù)據(jù)
以下我們將使用 SQL INSERT INTO 語(yǔ)句向 MySQL 數(shù)據(jù)表 mydb_jianshu 插入數(shù)據(jù)
實(shí)例
以下實(shí)例中我們將向 mydb_jianshu 表插入三條數(shù)據(jù):
C:\Users\Administrator.USER-20171227ZP>mysql -u root -p
Enter password:******
mysql> use mydb
Database changed
mysql> INSERT INTO mydb_jianshu
-> (jianshu_title,jianshu_author,submission_date)
-> VALUES
-> ("MySQL插入數(shù)據(jù)","防盜門(mén)i",NOW());
Query OK, 1 row affected, 1 warning (0.09 sec)
mysql> INSERT INTO mydb_jianshu
-> (jianshu_title,jianshu_author,submission_date)
-> VALUES
-> ("學(xué)習(xí)網(wǎng)絡(luò)安全從0到1","防盜門(mén)i",NOW());
Query OK, 1 row affected, 1 warning (0.09 sec)
mysql> INSERT INTO mydb_jianshu
-> (jianshu_title,jianshu_author,submission_date)
-> VALUES
-> ("MySQL基礎(chǔ)","防盜門(mén)i",NOW());
Query OK, 1 row affected, 1 warning (0.08 sec)
注意: 使用箭頭標(biāo)記 ->
不是 SQL 語(yǔ)句的一部分渤早,它僅僅表示一個(gè)新行职车,如果一條SQL語(yǔ)句太長(zhǎng),我們可以通過(guò)回車(chē)鍵來(lái)創(chuàng)建一個(gè)新行來(lái)編寫(xiě) SQL 語(yǔ)句鹊杖,SQL 語(yǔ)句的命令結(jié)束符為分號(hào) ;
悴灵。
在以上實(shí)例中,我們并沒(méi)有提供 jianshu_id 的數(shù)據(jù)骂蓖,因?yàn)樵撟侄挝覀冊(cè)趧?chuàng)建表的時(shí)候已經(jīng)設(shè)置它為 AUTO_INCREMENT(自動(dòng)增加) 屬性积瞒。 所以,該字段會(huì)自動(dòng)遞增而不需要我們?nèi)ピO(shè)置登下。實(shí)例中 NOW() 是一個(gè) MySQL 函數(shù)茫孔,該函數(shù)返回日期和時(shí)間。
接下來(lái)我們可以通過(guò)以下語(yǔ)句查看數(shù)據(jù)表數(shù)據(jù):
讀取數(shù)據(jù)表:select * from mydb_jianshu;
輸出結(jié)果:
mysql> select * from mydb_jianshu;
+------------+----------------------------+----------------+-----------------+
| jianshu_id | jianshu_title | jianshu_author | submission_date |
+------------+----------------------------+----------------+-----------------+
| 1 | MySQL插入數(shù)據(jù) | 防盜門(mén)i | 2018-02-09 |
| 2 | 學(xué)習(xí)網(wǎng)絡(luò)安全從0到1 | 防盜門(mén)i | 2018-02-09 |
| 3 | MySQL基礎(chǔ) | 防盜門(mén)i | 2018-02-09 |
+------------+----------------------------+----------------+-----------------+
3 rows in set (0.06 sec)
mysql>
使用PHP腳本插入數(shù)據(jù)
以下實(shí)例使用了PHP腳本來(lái)插入數(shù)據(jù):
實(shí)例
以下實(shí)例中程序接收用戶(hù)輸入的三個(gè)字段數(shù)據(jù)被芳,并插入數(shù)據(jù)表中:
<?php
$dbname = 'mydb';
$servername = 'localhost';
$username = 'root';
$password = '';
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 設(shè)置 PDO 錯(cuò)誤模式為異常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$jianshu_title="零基礎(chǔ)學(xué)習(xí)網(wǎng)絡(luò)安全";
$jianshu_author="Fangdm.";
$submission_date="2018-02-09";
$sql = "INSERT INTO mydb_jianshu" .
"(jianshu_title,jianshu_author,submission_date)" .
"VALUES" .
"('$jianshu_title','$jianshu_author','$submission_date');";
//使用 exec() 缰贝,因?yàn)闆](méi)有結(jié)果返回
$conn->exec($sql);
echo "數(shù)據(jù)添加成功<br>";
} catch (PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
接下來(lái)我們可以通過(guò)以下語(yǔ)句查看數(shù)據(jù)表數(shù)據(jù):
讀取數(shù)據(jù)表:select * from mydb_jianshu;
mysql> select * from mydb_jianshu;
+------------+-----------------------------+----------------+-----------------+
| jianshu_id | jianshu_title | jianshu_author | submission_date |
+------------+-----------------------------+----------------+-----------------+
| 1 | MySQL插入數(shù)據(jù) | 防盜門(mén)i | 2018-02-09 |
| 2 | 學(xué)習(xí)網(wǎng)絡(luò)安全從0到1 | 防盜門(mén)i | 2018-02-09 |
| 3 | MySQL基礎(chǔ) | 防盜門(mén)i | 2018-02-09 |
| 4 | 零基礎(chǔ)學(xué)習(xí)網(wǎng)絡(luò)安全 | Fangdm. | 2018-02-09 |
+------------+-----------------------------+----------------+-----------------+
4 rows in set (0.00 sec)
提示:INSERT 也可以插入多條數(shù)據(jù)。
INSERT INTO table_name (field1, field2,...fieldN) VALUES (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;
一起學(xué)習(xí)一起進(jìn)步畔濒,寫(xiě)的不好見(jiàn)諒剩晴。