Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chọn truy vấn để tìm nạp hàng trong MySQL

Hướng dẫn này là một phần của loạt bài Tìm hiểu Truy vấn SQL Cơ bản Sử dụng MySQL. Trong hướng dẫn này, chúng ta sẽ thảo luận về các truy vấn SQL để tìm nạp các hàng hoặc đọc dữ liệu từ một bảng trong MySQL.

Chọn truy vấn

Lệnh SELECT có thể được sử dụng để đọc các hàng từ một bảng. Trong trường hợp bạn đăng nhập từ xa vào cơ sở dữ liệu, bạn cũng sẽ cần đặc quyền CHỌN cho bảng để đọc các hàng từ bảng.

 # SELECT - Cú pháp 
SELECT [ALL | DISTINCT | DISTINCTROW] < chọn biểu thức > FROM tên_bảng;

# SELECT - Cú pháp - Tất cả các cột
SELECT [ALL | DISTINCT | DISTINCTROW] * FROM tên_bảng;

# SELECT - Cú pháp - Các cột chọn lọc
SELECT [ALL | DISTINCT | DISTINCTROW] cột_1, cột_2, ... FROM tên_bảng;

# SELECT - Cú pháp - Lọc kết quả bằng cách sử dụng WHERE
SELECT [ALL | DISTINCT | DISTINCTROW] cột_1, cột_2, ... FROM table_name WHERE <điều kiện lọc đơn hoặc nhiều>;

Giải thích Truy vấn

Lệnh MySQL SELECT có thể được sử dụng để đọc các hàng hoặc dữ liệu từ tên bảng đã cho trong đó biểu thức chọn và tên của bảng là bắt buộc.

Việc sử dụng các từ khóa ALL hoặc DISTINCT hoặc DISTINCTROW là tùy chọn. TẤT CẢ là từ khóa mặc định trong trường hợp không có từ khóa nào được chỉ định.

Chúng tôi cũng cần chỉ định biểu thức chọn để lấy dữ liệu từ bảng đã cho. Chúng tôi có thể sử dụng * hoặc tên cột được phân tách bằng dấu phẩy để lấy kết quả truy vấn từ bảng. Chúng tôi cũng có thể chỉ định bí danh cho tên cột bằng từ khóa AS .

Các hướng dẫn tiếp theo của loạt bài này giải thích cách sử dụng nâng cao của truy vấn chọn để lọc, sắp xếp hoặc nhóm kết quả bằng cách sử dụng WHERE , THÍCH , ĐẶT HÀNG BỞI GROUP BY mệnh đề.

Ví dụ

Phần này cung cấp các ví dụ để đọc dữ liệu từ bảng bằng lệnh SELECT. Sử dụng truy vấn được đề cập bên dưới để tạo bảng người dùng có các cột id, tên và họ để lưu trữ dữ liệu người dùng.

 # Tạo bảng người dùng 
TẠO BẢNG `user` (
` user_id` bigint (20) NOT NULL,
`first_name` varchar (45),
` last_name `varchar (45)
);

Truy vấn được đề cập bên dưới có thể được sử dụng để chèn dữ liệu vào bảng người dùng.

 # Chèn hàng - Tất cả các cột 
CHÈN VÀO `user` (` user_id`, `first_name`,` last_name`) VALUES
(1, 'John', 'Smith'),
(2, 'Rick', 'Jones'),
(3, 'Catherine', 'Ponting'),
(4, 'Harsh', 'Upadhyay'),
(5, 'Tajwinder', 'Singh');

Truy vấn đề cập ở trên sẽ chèn 5 hàng trong bảng có id, tên và họ để đại diện cho 5 người dùng khác nhau.

Bây giờ chúng ta sẽ đọc dữ liệu do chúng ta chèn trong bảng người dùng. Nó có thể được thực hiện bằng cách sử dụng lệnh SELECT như hình dưới đây.

 # Đọc tất cả các cột và hàng 
CHỌN * TỪ `người dùng`;

# Kết quả
1 John Smith
2 Rick Jones
3 Catherine Ponting
4 Harsh Upadhyay
5 Tajwinder Singh


# Đọc các cột chọn lọc
CHỌN `first_name`,` last_name` FROM `user`;

# Kết quả
John Smith
Rick Jones
Catherine Ponting
Harsh Upadhyay
Tajwinder Singh

Truy vấn đầu tiên sẽ hiển thị tất cả các cột trong kết quả truy vấn trong khi truy vấn thứ hai sẽ chỉ hiển thị dữ liệu hàng cho các cột do chúng tôi cung cấp.

Trong trường hợp số hàng trong bảng lớn hơn 50 hoặc 100, bạn nên đọc dữ liệu giới hạn bằng cách sử dụng LIMIT hoặc OFFSET.

 # Đọc các hàng giới hạn 
CHỌN * TỪ `người dùng` LIMIT 2;

# Kết quả
1 John Smith
2 Rick Jones

/> # Đọc các hàng giới hạn bằng cách sử dụng offset
CHỌN * TỪ `người dùng` LIMIT 3, 2;

# Kết quả
4 Harsh Upadhyay
5 Tajwinder Singh
>

Chúng tôi có thể sử dụng từ khóa LIMIT để tìm nạp các hàng giới hạn bằng cách chỉ định các giá trị chênh lệch và giới hạn. Trong ví dụ trên, truy vấn đầu tiên sẽ đọc hai hàng đầu tiên. Truy vấn thứ hai cũng sẽ đọc 2 hàng bắt đầu từ hàng thứ 4 bằng cách chỉ định giá trị offset thành 3.

Đây là cách chúng ta có thể đọc dữ liệu được lưu trữ trong các bảng MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hành vi GROUP BY khi không có hàm tổng hợp nào trong mệnh đề SELECT

  2. Cách cài đặt và cấu hình MySQL trên Ubuntu

  3. Làm cách nào để lấy múi giờ hiện tại của MySQL?

  4. PostgreSQL so với MySQL:Cái nào tốt nhất?

  5. Gặp sự cố với các hàng khớp trong cơ sở dữ liệu bằng cách sử dụng PDO