Bagaimanakah data pertanyaan pangkalan data MySQL dalam jadual?Pernyataan Pertanyaan/Perintah/Sintaks

pangkalan data MySQLBagaimana untuk menanyakan data dalam jadual?Pernyataan Pertanyaan/Perintah/Sintaks

MySQL Data pertanyaan

Pangkalan data MySQL menggunakan pernyataan SQL SELECT untuk pertanyaan data.

Anda boleh menanyakan data dalam pangkalan data melalui tetingkap command prompt mysql>, atau melalui skrip PHP.

tatabahasa

Berikut ialah sintaks SELECT umum untuk pertanyaan data dalam pangkalan data MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Dalam pernyataan pertanyaan, anda boleh menggunakan satu atau lebih jadual, pisahkan jadual dengan koma (,) dan gunakan pernyataan WHERE untuk menetapkan syarat pertanyaan.
  • Perintah SELECT boleh membaca satu atau lebih rekod.
  • Anda boleh menggunakan asterisk (*) untuk menggantikan medan lain, pernyataan SELECT akan mengembalikan semua data medan jadual
  • Anda boleh menggunakan pernyataan WHERE untuk memasukkan sebarang syarat.
  • Anda boleh menentukan offset data di mana pernyataan SELECT memulakan pertanyaan dengan OFFSET.Secara lalai offset ialah 0.
  • Anda boleh menggunakan sifat LIMIT untuk menetapkan bilangan rekod yang dikembalikan.

Dapatkan data melalui command prompt

Dalam contoh berikut, kami akan menggunakan perintah SQL SELECT untuk mendapatkan data jadual data MySQL chenweiliang_tbl:

contoh

Contoh berikut akan mengembalikan semua rekod jadual data chenweiliang_tbl:

Baca lembaran data:

select * from chenweiliang_tbl;

Gunakan skrip PHP untuk mendapatkan data

menggunakan fungsi PHP mysqli_query() Dan SQL SELECT arahan untuk mendapatkan data.

Fungsi ini digunakan untuk melaksanakan perintah SQL dan kemudian lulus fungsi PHP mysqli_fetch_array() untuk menggunakan atau mengeluarkan data untuk semua pertanyaan.

mysqli_fetch_array() Fungsi mengambil baris daripada set hasil sebagai tatasusunan bersekutu, atau tatasusunan nombor, atau kedua-duanya. Mengembalikan tatasusunan yang dijana daripada baris yang diambil daripada set hasil, atau palsu jika tiada lagi baris.

Contoh berikut membaca semua rekod daripada jadual data chenweiliang_tbl.

contoh

Cuba contoh berikut untuk memaparkan semua rekod jadual data chenweiliang_tbl.

Gunakan parameter mysqli_fetch_array MYSQL_ASSOC untuk mengambil data:

<?
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);
?>

 

Dalam contoh di atas, setiap baris rekod yang dibaca diberikan kepada pembolehubah $row, dan kemudian setiap nilai dicetak.

Nota:Ingat bahawa jika anda perlu menggunakan pembolehubah dalam rentetan, letakkan pembolehubah dalam pendakap kerinting.

Dalam contoh di atas, parameter kedua fungsi PHP mysqli_fetch_array() ialah MYSQL_ASSOC, tetapkan parameter ini untuk menanyakan hasil untuk mengembalikan tatasusunan bersekutu, anda boleh menggunakan nama medan sebagai indeks tatasusunan.

PHP menyediakan fungsi lain mysqli_fetch_assoc(), fungsi mengambil satu baris daripada set hasil sebagai tatasusunan bersekutu.Mengembalikan tatasusunan bersekutu yang dijana daripada baris yang diambil daripada set hasil, atau palsu jika tiada lagi baris.

contoh

Cuba contoh berikut, yang menggunakan mysqli_fetch_assoc() berfungsi untuk mengeluarkan semua rekod jadual data chenweiliang_tbl:

Gunakan mysqli_fetch_assoc untuk mengambil data:

<?
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);
?>

Anda juga boleh menggunakan pemalar MYSQL_NUM sebagai parameter kedua fungsi PHP mysqli_fetch_array(), yang mengembalikan tatasusunan nombor.

contoh

Contoh berikut menggunakan MYSQL_NUM Parameter memaparkan semua rekod jadual data chenweiliang_tbl:

Gunakan parameter mysqli_fetch_array MYSQL_NUM untuk mengambil data:

<?
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);
?>

Hasil keluaran ketiga-tiga contoh di atas adalah sama.


pelepasan ingatan

Amalan yang baik untuk mengosongkan memori kursor selepas kami melaksanakan pernyataan SELECT.

Memori boleh dikeluarkan melalui fungsi PHP mysqli_free_result().

Contoh berikut menunjukkan penggunaan fungsi ini.

contoh

Cuba contoh berikut:

Memori percuma dengan 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);
?>
 

Blog Harapan Chen Weiliang ( https://www.chenweiliang.com/ ) berkongsi "Bagaimanakah pangkalan data MySQL menanyakan data dalam jadual?Pernyataan Pertanyaan/Perintah/Sintaks" untuk membantu anda.

Selamat datang untuk berkongsi pautan artikel ini:https://www.chenweiliang.com/cwl-461.html

Selamat datang ke saluran Telegram blog Chen Weiliang untuk mendapatkan kemas kini terkini!

🔔 Jadilah yang pertama untuk mendapatkan "Panduan Penggunaan Alat AI Pemasaran Kandungan ChatGPT" yang berharga dalam direktori teratas saluran! 🌟
📚 Panduan ini mengandungi nilai yang besar, 🌟Ini adalah peluang yang jarang berlaku, jangan lepaskan! ⏰⌛💨
Share dan like jika anda suka!
Perkongsian dan suka anda adalah motivasi berterusan kami!

 

发表 评论

Alamat e-mel anda tidak akan diterbitkan. 必填 项 已 用 * 标注

tatal ke atas