Bagaimana cara query database MySQL dalam sebuah tabel?Pernyataan Kueri/Perintah/Sintaks

Bagaimana cara mengambil data dari tabel di database MySQL ? Pernyataan/perintah/sintaks kueri

MySQL Data kueri

Database MySQL menggunakan pernyataan SQL SELECT untuk meminta data.

Anda dapat meminta data dalam database melalui jendela command prompt mysql>, atau melalui skrip PHP.

tatabahasa

Berikut ini adalah sintaks SELECT umum untuk query data dalam database MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Dalam pernyataan kueri, Anda bisa menggunakan satu atau beberapa tabel, memisahkan tabel dengan koma (,), dan menggunakan pernyataan WHERE untuk mengatur kondisi kueri.
  • Perintah SELECT dapat membaca satu atau lebih record.
  • Anda dapat menggunakan tanda bintang (*) untuk mengganti bidang lain, pernyataan SELECT akan mengembalikan semua data bidang tabel
  • Anda dapat menggunakan pernyataan WHERE untuk memasukkan kondisi apapun.
  • Anda dapat menentukan offset data di mana pernyataan SELECT memulai kueri dengan OFFSET.Secara default, offsetnya adalah 0.
  • Anda dapat menggunakan properti LIMIT untuk mengatur jumlah record yang dikembalikan.

Dapatkan data melalui command prompt

Dalam contoh berikut, kita akan menggunakan perintah SQL SELECT untuk mendapatkan data dari tabel data MySQL chenweiliang_tbl:

Contoh

Contoh berikut akan mengembalikan semua catatan tabel data chenweiliang_tbl:

Baca lembar data:

select * from chenweiliang_tbl;

Gunakan skrip PHP untuk mendapatkan data

Gunakan fungsi PHP mysqli_query() dan perintah SQL SELECT untuk mengambil data.

Fungsi ini digunakan untuk mengeksekusi perintah SQL, dan kemudian fungsi PHP mysqli_fetch_array() digunakan untuk mengakses atau menampilkan semua data yang diminta.

Fungsi mysqli_fetch_array() mengambil satu baris dari hasil set sebagai array asosiatif, array numerik, atau keduanya, dan mengembalikan array yang dihasilkan dari baris yang diambil dari hasil set tersebut. Jika tidak ada lagi baris, fungsi ini mengembalikan false.

Contoh berikut membaca semua catatan dari tabel data chenweiliang_tbl.

Contoh

Coba contoh berikut untuk menampilkan semua catatan tabel 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 record yang dibaca ditugaskan ke variabel $row, dan kemudian setiap nilai dicetak.

Catatan: Ingat untuk mengapit variabel dalam kurung kurawal jika Anda perlu menggunakannya dalam sebuah string.

Pada contoh di atas, parameter kedua dari fungsi PHP mysqli_fetch_array() adalah MYSQL_ASSOC . Mengatur parameter ini akan mengembalikan array asosiatif, dan Anda dapat menggunakan nama field sebagai indeks array tersebut.

PHP menyediakan fungsi lain, `mysqli_fetch_assoc()` , yang mengambil satu baris dari hasil set sebagai array asosiatif. Fungsi ini mengembalikan array asosiatif berdasarkan baris yang diambil dari hasil set; jika tidak ada lagi baris yang tersedia, fungsi ini mengembalikan false.

Contoh

Cobalah contoh berikut, yang menggunakan fungsi mysqli_fetch_assoc() untuk menampilkan semua catatan dari tabel 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 dapat menggunakan konstanta MYSQL_NUM sebagai parameter kedua dari fungsi PHP mysqli_fetch_array(), yang mengembalikan larik angka.

Contoh

Contoh berikut menggunakan parameter MYSQL_NUM untuk menampilkan semua catatan dalam tabel 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 dari ketiga contoh di atas adalah sama.


pelepasan memori

Ini adalah praktik yang baik untuk mengosongkan memori kursor setelah kami menjalankan pernyataan SELECT.

Memori dapat dilepaskan melalui fungsi PHP mysqli_free_result().

Contoh berikut menunjukkan penggunaan fungsi ini.

Contoh

Coba contoh berikut:

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

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Gulir ke Atas