MySQL - แทรกแบบสอบถาม
ในการแทรกข้อมูลลงในตาราง MySQL คุณจะต้องใช้ SQL INSERT INTOคำสั่ง คุณสามารถแทรกข้อมูลลงในตาราง MySQL โดยใช้พรอมต์ mysql> หรือโดยใช้สคริปต์ใด ๆ เช่น PHP
ไวยากรณ์
นี่คือไวยากรณ์ SQL ทั่วไปของคำสั่ง INSERT INTO เพื่อแทรกข้อมูลลงในตาราง MySQL -
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
ในการแทรกชนิดข้อมูลสตริงจำเป็นต้องเก็บค่าทั้งหมดไว้ในเครื่องหมายคำพูดคู่หรือเดี่ยว ตัวอย่างเช่น"value".
การแทรกข้อมูลจากพรอมต์คำสั่ง
ในการแทรกข้อมูลจากพรอมต์คำสั่งเราจะใช้คำสั่ง SQL INSERT INTO เพื่อแทรกข้อมูลลงในตาราง MySQL tutorials_tbl
ตัวอย่าง
ตัวอย่างต่อไปนี้จะสร้าง 3 ระเบียนใน tutorials_tbl โต๊ะ -
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
->(tutorial_title, tutorial_author, submission_date)
->VALUES
->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>
NOTE- โปรดทราบว่าเครื่องหมายลูกศรทั้งหมด (->) ไม่ได้เป็นส่วนหนึ่งของคำสั่ง SQL พวกเขากำลังระบุบรรทัดใหม่และสร้างขึ้นโดยอัตโนมัติโดยพรอมต์ MySQL ในขณะที่กดปุ่ม Enter โดยไม่ต้องให้เครื่องหมายอัฒภาคที่ท้ายแต่ละบรรทัดของคำสั่ง
ในตัวอย่างข้างต้นเราไม่ได้ให้ tutorial_id เนื่องจากในขณะสร้างตารางเราได้ให้ตัวเลือก AUTO_INCREMENT สำหรับฟิลด์นี้ ดังนั้น MySQL จะดูแลการใส่ ID เหล่านี้โดยอัตโนมัติ ที่นี่NOW() เป็นฟังก์ชัน MySQL ซึ่งส่งคืนวันที่และเวลาปัจจุบัน
การแทรกข้อมูลโดยใช้สคริปต์ PHP
คุณสามารถใช้คำสั่ง SQL INSERT INTO เดียวกันกับฟังก์ชัน PHP mysql_query() เพื่อแทรกข้อมูลลงในตาราง MySQL
ตัวอย่าง
ตัวอย่างนี้จะใช้พารามิเตอร์สามตัวจากผู้ใช้และจะแทรกลงในตาราง MySQL -
<html>
<head>
<title>Add New Record in MySQL Database</title>
</head>
<body>
<?php
if(isset($_POST['add'])) {
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
if(! get_magic_quotes_gpc() ) {
$tutorial_title = addslashes ($_POST['tutorial_title']);
$tutorial_author = addslashes ($_POST['tutorial_author']);
} else {
$tutorial_title = $_POST['tutorial_title'];
$tutorial_author = $_POST['tutorial_author'];
}
$submission_date = $_POST['submission_date'];
$sql = "INSERT INTO tutorials_tbl ".
"(tutorial_title,tutorial_author, submission_date) "."VALUES ".
"('$tutorial_title','$tutorial_author','$submission_date')";
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
} else {
?>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
<tr>
<td width = "250">Tutorial Title</td>
<td>
<input name = "tutorial_title" type = "text" id = "tutorial_title">
</td>
</tr>
<tr>
<td width = "250">Tutorial Author</td>
<td>
<input name = "tutorial_author" type = "text" id = "tutorial_author">
</td>
</tr>
<tr>
<td width = "250">Submission Date [ yyyy-mm-dd ]</td>
<td>
<input name = "submission_date" type = "text" id = "submission_date">
</td>
</tr>
<tr>
<td width = "250"> </td>
<td> </td>
</tr>
<tr>
<td width = "250"> </td>
<td>
<input name = "add" type = "submit" id = "add" value = "Add Tutorial">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
ขณะทำการแทรกข้อมูลควรใช้ฟังก์ชันนี้ get_magic_quotes_gpc()เพื่อตรวจสอบว่ามีการตั้งค่าการกำหนดค่าปัจจุบันสำหรับใบเสนอราคาวิเศษหรือไม่ หากฟังก์ชันนี้ส่งกลับเท็จให้ใช้ฟังก์ชันaddslashes() เพื่อเพิ่มเครื่องหมายทับก่อนเครื่องหมายคำพูด
คุณสามารถตรวจสอบความถูกต้องหลายรอบเพื่อตรวจสอบว่าข้อมูลที่ป้อนถูกต้องหรือไม่และสามารถดำเนินการตามความเหมาะสมได้