Πώς ερωτά τα δεδομένα της βάσης δεδομένων MySQL σε έναν πίνακα;Δήλωση ερωτήματος/Εντολή/Σύνταξη

Βάση δεδομένων MySQLΠώς να αναζητήσετε τα δεδομένα στον πίνακα;Δήλωση ερωτήματος/Εντολή/Σύνταξη

MySQL Δεδομένα ερωτήματος

Οι βάσεις δεδομένων MySQL χρησιμοποιούν δηλώσεις SQL SELECT για να ρωτήσουν δεδομένα.

Μπορείτε να αναζητήσετε δεδομένα στη βάση δεδομένων μέσω του παραθύρου της γραμμής εντολών mysql> ή μέσω ενός σεναρίου PHP.

γραμματική

Ακολουθεί η γενική σύνταξη SELECT για την αναζήτηση δεδομένων σε μια βάση δεδομένων MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Στη δήλωση ερωτήματος, μπορείτε να χρησιμοποιήσετε έναν ή περισσότερους πίνακες, να διαχωρίσετε τους πίνακες με κόμματα (,) και να χρησιμοποιήσετε την πρόταση WHERE για να ορίσετε συνθήκες ερωτήματος.
  • Η εντολή SELECT μπορεί να διαβάσει μία ή περισσότερες εγγραφές.
  • Μπορείτε να χρησιμοποιήσετε έναν αστερίσκο (*) για να αντικαταστήσετε άλλα πεδία, η δήλωση SELECT θα επιστρέψει όλα τα δεδομένα πεδίου του πίνακα
  • Μπορείτε να χρησιμοποιήσετε τη δήλωση WHERE για να συμπεριλάβετε οποιαδήποτε συνθήκη.
  • Μπορείτε να καθορίσετε τη μετατόπιση δεδομένων στην οποία η δήλωση SELECT ξεκινά το ερώτημα με OFFSET.Από προεπιλογή η μετατόπιση είναι 0.
  • Μπορείτε να χρησιμοποιήσετε την ιδιότητα LIMIT για να ορίσετε τον αριθμό των εγγραφών που επιστρέφονται.

Λάβετε δεδομένα μέσω της γραμμής εντολών

Στο παρακάτω παράδειγμα, θα χρησιμοποιήσουμε την εντολή SQL SELECT για να λάβουμε τα δεδομένα του πίνακα δεδομένων MySQL chenweiliang_tbl:

Παράδειγμα

Το ακόλουθο παράδειγμα θα επιστρέψει όλες τις εγγραφές του πίνακα δεδομένων chenweiliang_tbl:

Διαβάστε το δελτίο δεδομένων:

select * from chenweiliang_tbl;

Χρησιμοποιήστε σενάριο PHP για να λάβετε δεδομένα

χρησιμοποιώντας συναρτήσεις PHP mysqli_query() 及 SQL SELECT εντολή για λήψη των δεδομένων.

Αυτή η συνάρτηση χρησιμοποιείται για την εκτέλεση εντολών SQL και στη συνέχεια για τη μετάδοση συναρτήσεων PHP mysqli_fetch_array() για χρήση ή έξοδο δεδομένων για όλα τα ερωτήματα.

mysqli_fetch_array() Η συνάρτηση ανακτά μια σειρά από το σύνολο αποτελεσμάτων ως συσχετιστικό πίνακα ή έναν πίνακα αριθμών ή και τα δύο. Επιστρέφει έναν πίνακα που δημιουργήθηκε από τις σειρές που ανακτήθηκαν από το σύνολο αποτελεσμάτων ή false εάν δεν υπάρχουν άλλες σειρές.

Το ακόλουθο παράδειγμα διαβάζει όλες τις εγγραφές από τον πίνακα δεδομένων chenweiliang_tbl.

Παράδειγμα

Δοκιμάστε το ακόλουθο παράδειγμα για να εμφανίσετε όλες τις εγγραφές του πίνακα δεδομένων chenweiliang_tbl.

Χρησιμοποιήστε την παράμετρο mysqli_fetch_array MYSQL_ASSOC για την ανάκτηση δεδομένων:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

 

Στο παραπάνω παράδειγμα, κάθε σειρά εγγραφών που διαβάζονται εκχωρείται στη μεταβλητή $row και, στη συνέχεια, εκτυπώνεται κάθε τιμή.

Σημείωση:Θυμηθείτε ότι εάν χρειάζεται να χρησιμοποιήσετε μια μεταβλητή σε μια συμβολοσειρά, βάλτε τη μεταβλητή σε σγουρά άγκιστρα.

Στο παραπάνω παράδειγμα, η δεύτερη παράμετρος της συνάρτησης PHP mysqli_fetch_array() είναι MYSQL_ASSOC, ορίστε αυτήν την παράμετρο για να υποβάλει ερώτημα στο αποτέλεσμα για να επιστρέψει έναν συσχετιστικό πίνακα, μπορείτε να χρησιμοποιήσετε το όνομα του πεδίου ως ευρετήριο του πίνακα.

Η PHP παρέχει μια άλλη λειτουργία mysqli_fetch_assoc(), η συνάρτηση παίρνει μια σειρά από το σύνολο αποτελεσμάτων ως συσχετιστικό πίνακα.Επιστρέφει έναν συσχετιστικό πίνακα που δημιουργήθηκε από τις σειρές που λαμβάνονται από το σύνολο αποτελεσμάτων ή false εάν δεν υπάρχουν άλλες σειρές.

Παράδειγμα

Δοκιμάστε το παρακάτω παράδειγμα, το οποίο χρησιμοποιεί mysqli_fetch_assoc() συνάρτηση για την έξοδο όλων των εγγραφών του πίνακα δεδομένων chenweiliang_tbl:

Χρησιμοποιήστε mysqli_fetch_assoc για ανάκτηση δεδομένων:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_assoc($retval))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Μπορείτε επίσης να χρησιμοποιήσετε τη σταθερά MYSQL_NUM ως τη δεύτερη παράμετρο της συνάρτησης PHP mysqli_fetch_array(), η οποία επιστρέφει έναν πίνακα αριθμών.

Παράδειγμα

Τα ακόλουθα παραδείγματα χρησιμοποιούν MYSQL_NUM Η παράμετρος εμφανίζει όλες τις εγγραφές του πίνακα δεδομένων chenweiliang_tbl:

Χρησιμοποιήστε την παράμετρο mysqli_fetch_array MYSQL_NUM για την ανάκτηση δεδομένων:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Τα αποτελέσματα εξόδου των τριών παραπάνω παραδειγμάτων είναι τα ίδια.


απελευθέρωση μνήμης

Είναι μια καλή πρακτική να ελευθερώνουμε τη μνήμη του δρομέα αφού έχουμε εκτελέσει μια πρόταση SELECT.

Η μνήμη μπορεί να απελευθερωθεί μέσω της συνάρτησης PHP mysqli_free_result().

Το ακόλουθο παράδειγμα δείχνει τη χρήση αυτής της συνάρτησης.

Παράδειγμα

Δοκιμάστε τα ακόλουθα παραδείγματα:

Δωρεάν μνήμη με mysqli_free_result:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
 echo "<tr><td> {$row[0]}</td> ".
 "<td>{$row[1]} </td> ".
 "<td>{$row[2]} </td> ".
 "<td>{$row[3]} </td> ".
 "</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>
 

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Πώς η βάση δεδομένων MySQL ρωτά τα δεδομένα στον πίνακα;Ερώτημα Δήλωση/Εντολή/Σύνταξη" για να σας βοηθήσει.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-461.html

Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή