Cơ sở dữ liệu MySQL truy vấn dữ liệu trong bảng như thế nào?Câu lệnh truy vấn / Lệnh / Cú pháp

Làm thế nào để truy vấn dữ liệu từ một bảng trong cơ sở dữ liệu MySQL ? Câu lệnh/lệnh/cú pháp truy vấn

MySQL Dữ liệu truy vấn

Cơ sở dữ liệu MySQL sử dụng câu lệnh SQL SELECT để truy vấn dữ liệu.

Bạn có thể truy vấn dữ liệu trong cơ sở dữ liệu thông qua cửa sổ nhắc lệnh mysql> hoặc thông qua tập lệnh PHP.

ngữ pháp

Sau đây là cú pháp SELECT chung để truy vấn dữ liệu trong cơ sở dữ liệu MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Trong câu lệnh truy vấn, bạn có thể sử dụng một hoặc nhiều bảng, phân tách các bảng bằng dấu phẩy (,) và sử dụng câu lệnh WHERE để đặt điều kiện truy vấn.
  • Lệnh SELECT có thể đọc một hoặc nhiều bản ghi.
  • Bạn có thể dùng dấu hoa thị (*) để thay thế các trường khác, câu lệnh SELECT sẽ trả về tất cả dữ liệu trường của bảng
  • Bạn có thể sử dụng câu lệnh WHERE để bao gồm bất kỳ điều kiện nào.
  • Bạn có thể chỉ định độ lệch dữ liệu mà tại đó câu lệnh SELECT bắt đầu truy vấn với OFFSET.Theo mặc định, độ lệch là 0.
  • Bạn có thể sử dụng thuộc tính LIMIT để đặt số lượng bản ghi được trả về.

Nhận dữ liệu qua dấu nhắc lệnh

Trong ví dụ sau, chúng ta sẽ sử dụng lệnh SQL SELECT để lấy dữ liệu của bảng dữ liệu MySQL chenweiliang_tbl:

Phiên bản

Ví dụ sau sẽ trả về tất cả các bản ghi của bảng dữ liệu chenweiliang_tbl:

Đọc biểu dữ liệu:

select * from chenweiliang_tbl;

Sử dụng tập lệnh PHP để lấy dữ liệu

Sử dụng hàm PHP mysqli_query() và lệnh SQL SELECT để truy xuất dữ liệu.

Chức năng này được sử dụng để thực thi các lệnh SQL, sau đó hàm PHP mysqli_fetch_array() được sử dụng để truy cập hoặc xuất ra tất cả dữ liệu đã được truy vấn.

Hàm mysqli_fetch_array() truy xuất một hàng từ tập kết quả dưới dạng mảng liên kết, mảng số hoặc cả hai, và trả về một mảng được tạo từ hàng được truy xuất từ ​​tập kết quả. Nếu không còn hàng nào nữa, nó trả về false.

Ví dụ sau đây đọc tất cả các bản ghi từ bảng dữ liệu chenweiliang_tbl.

Phiên bản

Hãy thử ví dụ sau để hiển thị tất cả các bản ghi của bảng dữ liệu chenweiliang_tbl.

Sử dụng tham số mysqli_fetch_array MYSQL_ASSOC để tìm nạp dữ liệu:

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

 

Trong ví dụ trên, mỗi hàng bản ghi được đọc được gán cho biến $ row, và sau đó mỗi giá trị được in ra.

Lưu ý: Hãy nhớ đặt biến trong dấu ngoặc nhọn nếu bạn cần sử dụng nó trong chuỗi.

Trong ví dụ trên, tham số thứ hai của hàm PHP mysqli_fetch_array() là MYSQL_ASSOC . Việc thiết lập tham số này trả về một mảng liên kết, và bạn có thể sử dụng tên trường làm chỉ mục của mảng.

PHP cung cấp một hàm khác, `mysqli_fetch_assoc()` , hàm này truy xuất một hàng từ tập kết quả dưới dạng mảng liên kết. Nó trả về một mảng liên kết dựa trên các hàng được truy xuất từ ​​tập kết quả; nếu không còn hàng nào nữa, nó trả về false.

Phiên bản

Hãy thử ví dụ sau, sử dụng hàm mysqli_fetch_assoc() để xuất ra tất cả các bản ghi của bảng chenweiliang_tbl:

Sử dụng mysqli_fetch_assoc để tìm nạp dữ liệu:

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

Bạn cũng có thể sử dụng hằng số MYSQL_NUM làm tham số thứ hai của hàm mysqli_fetch_array () trong PHP, hàm này trả về một mảng số.

Phiên bản

Ví dụ sau sử dụng tham số MYSQL_NUM để hiển thị tất cả các bản ghi trong bảng chenweiliang_tbl:

Sử dụng tham số mysqli_fetch_array MYSQL_NUM để tìm nạp dữ liệu:

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

Kết quả đầu ra của ba ví dụ trên là giống nhau.


giải phóng bộ nhớ

Đó là một phương pháp hay để giải phóng bộ nhớ con trỏ sau khi chúng ta thực hiện một câu lệnh SELECT.

Bộ nhớ có thể được giải phóng thông qua hàm mysqli_free_result () trong PHP.

Ví dụ sau minh họa việc sử dụng chức năng này.

Phiên bản

Hãy thử các ví dụ sau:

Giải phóng bộ nhớ với 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);
?>
 

Hy vọng bài viết "Cách truy vấn dữ liệu từ một bảng trong cơ sở dữ liệu MySQL? Câu lệnh/Lệnh/Cú pháp truy vấn" được chia sẻ trên blog của Chen Weiliang ( https://www.chenweiliang.com/ ) sẽ hữu ích cho bạn.

Bạn có thể thoải mái chia sẻ liên kết bài viết này: https://www.chenweiliang.com/cwl-461.html

Để khám phá thêm nhiều mẹo ẩn🔑, vui lòng tham gia kênh Telegram của chúng tôi!

Chia sẻ và thích nếu bạn thích nó! Những chia sẻ và lượt thích của bạn là động lực tiếp tục của chúng tôi!

 

发表 评论

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

Di chuyển về đầu trang