ข้อมูล MySQL แบบสอบถาม
ฐานข้อมูล MySQL โดยใช้คำสั่ง SQL SELECT เพื่อสอบถามข้อมูล
คุณสามารถ mysql> หน้าต่างพร้อมรับคำสั่งในการค้นหาข้อมูลในฐานข้อมูลหรือผ่านสคริปต์ PHP ในการค้นหาข้อมูล
ไวยากรณ์
ต่อไปนี้เป็นข้อมูลแบบสอบถามที่พบบ่อยในฐานข้อมูล MySQL ไวยากรณ์เลือก:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- คุณสามารถสอบถามการใช้หนึ่งหรือมากกว่าหนึ่งตารางให้ใช้เครื่องหมายจุลภาคระหว่างตาราง (,) การแบ่งส่วนและใช้คำสั่ง WHERE เพื่อกำหนดเกณฑ์การค้นหา
- คำสั่ง SELECT อ่านหนึ่งหรือมากกว่าหนึ่งระเบียน
- คุณสามารถใช้เครื่องหมายดอกจัน (*) แทนสาขาอื่น ๆ , คำสั่ง SELECT ผลตอบแทนทุกสาขาในตารางข้อมูล
- คุณสามารถใช้คำสั่ง WHERE ที่จะรวมถึงเงื่อนไขใด ๆ
- คุณสามารถระบุข้อมูลชดเชยคำสั่งเลือกแบบสอบถามเริ่มต้นด้วยการชดเชย โดยค่าเริ่มต้นชดเชยคือ 0
- จำกัด จำนวนของระเบียนที่คุณสามารถใช้ในการตั้งค่าคุณสมบัติกลับ
ได้รับข้อมูลจากพร้อมรับคำสั่ง
ตัวอย่างต่อไปนี้เราจะได้รับ MySQL ตารางข้อมูล w3big_tbl ข้อมูลผ่านคำสั่ง SQL เลือก:
ตัวอย่าง
ตัวอย่างต่อไปนี้จะส่งกลับระเบียนทั้งหมดใน w3big_tbl ตารางข้อมูล:
root@host# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> SELECT * from w3big_tbl +-------------+----------------+-----------------+-----------------+ | w3big_id | w3big_title | w3big_author | submission_date | +-------------+----------------+-----------------+-----------------+ | 1 | Learn PHP | John Poul | 2007-05-21 | | 2 | Learn MySQL | Abdul S | 2007-05-21 | | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | +-------------+----------------+-----------------+-----------------+ 3 rows in set (0.01 sec) mysql>
ใช้สคริปต์ PHP ในการดึงข้อมูล
ใช้ฟังก์ชัน PHP mysql_query () และคำสั่ง SQL เลือกเพื่อดึงข้อมูล
ฟังก์ชั่นนี้จะใช้ในการรันคำสั่ง SQL แล้วผ่าน mysql_fetch_array ฟังก์ชัน PHP () เพื่อใช้หรือข้อมูลการส่งออกสำหรับการค้นหาทั้งหมด
mysql_fetch_array () ฟังก์ชัน Fetch แถวเป็นอาร์เรย์เชื่อมโยงอาร์เรย์ตัวเลขหรือทั้งสองอย่างตามอาร์เรย์ของผลตอบแทนที่ได้รับจากผลการตั้งค่าแถวสร้างถ้าไม่มีแถวกลับมาจากผลการปลอม
ตัวอย่างต่อไปนี้จะอ่านบันทึกทั้งหมดจากข้อมูลในตาราง w3big_tbl
ตัวอย่าง
ลองตัวอย่างต่อไปนี้จะแสดงระเบียนทั้งหมดของตารางข้อมูล w3big_tbl
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { echo "Tutorial ID :{$row['w3big_id']} <br> ". "Title: {$row['w3big_title']} <br> ". "Author: {$row['w3big_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
ตัวอย่างข้างต้นบันทึกอ่านแต่ละบรรทัดถูกกำหนดให้กับตัวแปร $ แถวแล้วพิมพ์ออกมาแต่ละค่า
หมายเหตุ: โปรดจำไว้ว่าถ้าคุณจำเป็นต้องใช้ตัวแปรในสตริง, ตั้งค่าตัวแปรวางไว้ในวงเล็บปีกกา
ในตัวอย่างข้างต้น, PHP mysql_fetch_array () ฟังก์ชันของพารามิเตอร์ที่สองคือ MYSQL_ASSOC ตั้งผลแบบสอบถามพารามิเตอร์กลับอาเรย์, คุณสามารถใช้ชื่อสนามเป็นดัชนีอาร์เรย์
PHP ให้ mysql_fetch_assoc ฟังก์ชั่นอื่น ๆ () ฟังก์ชั่นการดึงข้อมูลแถวผลเป็นอาเรย์ ผลตอบแทนที่ได้อาเรย์ที่ได้รับจากผลการตั้งค่าแถวสร้างถ้าไม่มีแถวมากขึ้นก็กลับเท็จ
ตัวอย่าง
ลองตัวอย่างต่อไปนี้ใช้ mysql_fetch_assoc () ฟังก์ชั่นการส่งออกระเบียนทั้งหมดของตารางข้อมูล w3big_tbl:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_assoc($retval)) { echo "Tutorial ID :{$row['w3big_id']} <br> ". "Title: {$row['w3big_title']} <br> ". "Author: {$row['w3big_author']} <br> ". "Submission Date : {$row['submission_date']} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
นอกจากนี้คุณยังสามารถใช้ MYSQL_NUM คงเป็น PHP mysql_fetch_array () อาร์กิวเมนต์ที่สองของฟังก์ชันส่งกลับอาร์เรย์ของตัวเลข
ตัวอย่าง
ตัวอย่างต่อไปนี้ใช้พารามิเตอร์ MYSQL_NUM แสดงระเบียนทั้งหมดใน w3big_tbl ตารางข้อมูล:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_NUM)) { echo "Tutorial ID :{$row[0]} <br> ". "Title: {$row[1]} <br> ". "Author: {$row[2]} <br> ". "Submission Date : {$row[3]} <br> ". "--------------------------------<br>"; } echo "Fetched data successfully\n"; mysql_close($conn); ?>
ดังกล่าวข้างต้นสามตัวอย่างของผลการส่งออกจะเหมือนกัน
ปล่อยหน่วยความจำ
หลังจากที่เราเสร็จสิ้นการดำเนินการตามคำสั่ง SELECT หน่วยความจำเคอร์เซอร์ปล่อยออกมาเป็นนิสัยที่ดี . โดยฟังก์ชัน PHP mysql_free_result () เพื่อให้บรรลุความเป็นอิสระของหน่วยความจำ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการใช้ฟังก์ชั่น
ตัวอย่าง
ลองตัวอย่างต่อไปนี้:
<?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } $sql = 'SELECT w3big_id, w3big_title, w3big_author, submission_date FROM w3big_tbl'; mysql_select_db('w3big'); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not get data: ' . mysql_error()); } while($row = mysql_fetch_array($retval, MYSQL_NUM)) { echo "Tutorial ID :{$row[0]} <br> ". "Title: {$row[1]} <br> ". "Author: {$row[2]} <br> ". "Submission Date : {$row[3]} <br> ". "--------------------------------<br>"; } mysql_free_result($retval); echo "Fetched data successfully\n"; mysql_close($conn); ?>