Hướng dẫn how can i get data from a table in mysql? - làm cách nào để lấy dữ liệu từ một bảng trong mysql?

Chris Newman giải thích cách sử dụng câu lệnh CHỌN, một trong những lệnh SQL được sử dụng thường xuyên nhất, để tìm nạp các bản ghi từ cơ sở dữ liệu MySQL.

Đoạn trích này là từ phiên bản đầu tiên của SQL của tôi trong 10 phút.

Xem phiên bản cập nhật của bài viết/chương này từ Sams Dạy bản thân SQL trong 10 phút, Phiên bản thứ 5Sams Teach Yourself SQL in 10 Minutes, 5th Edition

.

Thích bài viết này? Chúng tôi đề nghị 

Trong bài học này, bạn tìm hiểu cách sử dụng câu lệnh Chọn để tìm nạp các bản ghi từ cơ sở dữ liệu MySQL.

Câu lệnh CHỌN

Lệnh SQL đầu tiên bạn sẽ học và lệnh bạn sẽ sử dụng thường xuyên nhất là chọn. Trong bài học này, bạn bắt đầu bằng cách học cách tìm nạp các bản ghi dữ liệu từ một bảng.

Một câu lệnh select bắt đầu với từ khóa chọn và được sử dụng để truy xuất thông tin từ các bảng cơ sở dữ liệu MySQL. Bạn phải chỉ định tên bảng để tìm nạp dữ liệu từ việc sử dụng từ khóa từ khóa và một hoặc nhiều cột mà bạn muốn truy xuất từ ​​bảng đó.

Lấy các cột riêng lẻ

Nếu bạn thực hiện câu lệnh SQL sau bằng MySQL, đầu ra được tạo sẽ như được hiển thị:

mysql> SELECT name
    -> FROM customers;
+-------------------------+
| name                    |
+-------------------------+
| Presidents Incorporated |
| Science Corporation     |
| Musicians of America    |
+-------------------------+
3 rows in set (0.02 sec)

Bảng khách hàng chứa ba hồ sơ. Trong tuyên bố này, chúng tôi bảo MySQL lấy giá trị của cột tên; Điều này được hiển thị cho mỗi bản ghi trong bảng.

Dữ liệu được hiển thị không được đặt hàng. Thông thường các bản ghi được lấy theo cùng một thứ tự mà chúng được chèn vào cơ sở dữ liệu. Trong ví dụ này, tên công ty được hiển thị theo thứ tự chúng được chèn vào tập lệnh tạo bảng mẫu.

Một câu lệnh CHỌN sẽ trả về mỗi hàng từ bảng trừ khi bạn nói với nó khác. Bạn sẽ học cách làm điều này, bằng cách đặt bộ lọc vào truy vấn, trong bài học tiếp theo.

Lấy nhiều cột

Bây giờ bạn sẽ thử một câu lệnh chọn đơn giản khác, lần này trên bảng sản phẩm. Bạn có thể truy xuất các giá trị từ hai cột trong cùng một truy vấn bằng cách chỉ định danh sách các cột sau từ khóa chọn, tách chúng bằng dấu phẩy.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)

Các cột trong đầu ra xuất hiện theo thứ tự được đưa ra trong truy vấn. Để thêm cột Trọng lượng vào dữ liệu được truy xuất, hãy thêm nó vào phần cuối của danh sách các cột được chọn, như sau:

mysql> SELECT name, price, weight
    -> FROM products;
+----------------+-------+---------+
| name           | price |  weight |
+----------------+-------+---------+
| Small product  |  5.99 |    1.50 |
| Medium product |  9.99 |    4.50 |
| Large product  | 15.99 |    8.00 |
+----------------+-------+---------+
3 rows in set (0.00 sec)

Lấy tất cả các cột

Nếu bạn muốn truy xuất dữ liệu từ mỗi cột trong bảng, bạn không cần chỉ định từng tên cột sau từ khóa chọn. Sử dụng ký tự dấu hoa thị (*) thay cho danh sách cột trong câu lệnh Chọn để hướng dẫn MySQL trả về mọi cột từ bảng được chỉ định.

Truy vấn sau lấy mọi cột và hàng từ bảng sản phẩm:

mysql> SELECT *
    -> FROM products;
+------+----------------+--------+-------+
| code | name           | weight | price |
+------+----------------+--------+-------+
| MINI | Small product  |   1.50 |  5.99 |
| MIDI | Medium product |   4.50 |  9.99 |
| MAXI | Large product  |   8.00 | 15.99 |
+------+----------------+--------+-------+
3 rows in set (0.00 sec)

Lưu ý rằng đầu ra được tạo ra hoàn toàn giống nhau, như thể bạn đã chỉ định từng cột trong truy vấn theo tên, như thế này:

mysql> SELECT code, name, weight, price
    -> FROM products;
+------+----------------+--------+-------+
| code | name           | weight | price |
+------+----------------+--------+-------+
| MINI | Small product  |   1.50 |  5.99 |
| MIDI | Medium product |   4.50 |  9.99 |
| MAXI | Large product  |   8.00 | 15.99 |
+------+----------------+--------+-------+
3 rows in set (0.00 sec)

Khi bạn sử dụng Chọn *, các cột được hiển thị theo thứ tự chúng xảy ra trong bảng cơ sở dữ liệu, thứ tự được chỉ định các cột khi bảng được tạo. Bạn sẽ tìm hiểu cách tạo các bảng cơ sở dữ liệu trong Bài 14 "Tạo và sửa đổi các bảng."

So sánh thứ tự của các cột trong kết quả của truy vấn trước đó với đầu ra được tạo bởi lệnh mô tả cho sản phẩm.

mysql> DESCRIBE products;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| code   | varchar(10)  |      |     |         |       |
| name   | varchar(40)  |      |     |         |       |
| weight | decimal(6,2) |      |     | 0.00    |       |
| price  | decimal(6,2) |      |     | 0.00    |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Sai lầm trong một câu lệnh Chọn

Chẳng bao lâu, bạn sẽ đặt một câu lệnh CHỌN CHỌN nếu bạn chưa làm như vậy! Ở đây bạn nhìn vào một số thông báo lỗi mà MySQL đưa ra khi bạn mắc lỗi.

Nếu bạn cố gắng chọn dữ liệu từ một bảng không tồn tại, MySQL sẽ đưa ra thông báo lỗi. Trong ví dụ này, bạn đã cố gắng chọn từ một bảng có tên sản phẩm thay vì sản phẩm:

mysql> SELECT *
    -> FROM product;
ERROR 1146 (42S02): Table sampdb.product' doesn't exist

Nếu bạn chỉ định tên cột không tồn tại trong bảng đã chọn, bạn sẽ thấy thông báo lỗi sau:

mysql> SELECT name
    -> FROM customer_contacts;
ERROR 1054 (42S22): Unknown column 'name' in 'field list'

Trong trường hợp này, bảng customer_contacts không có cột tên. Nó có các cột First_name và Last_name riêng biệt.

Nếu bạn thực hiện lỗi cú pháp, đó là, khi MySQL không thể hiểu câu lệnh Chọn vì mọi thứ không xuất hiện theo thứ tự mà nó mong đợi chúng sẽ có thông báo lỗi giống như sau:

________số 8

Trong ví dụ trước, lưu ý dấu phẩy sau khi last_name. Khi MySQL nhìn thấy điều này, nó mong đợi một tên cột khác sẽ tuân theo, nhưng thay vào đó, từ tiếp theo là từ. Vì bạn không thể sử dụng từ khóa SQL làm tên cột, điều này gây ra lỗi cú pháp như được hiển thị.

MySQL cũng có thể đưa ra lỗi cú pháp nếu bạn viết sai từ khóa. Trong ví dụ sau, từ khóa từ đã bị nhầm lẫn như hình thức. Lỗi được hiển thị cho thấy MySQL không biết mục đích của mẫu từ phục vụ trong câu lệnh SQL, do đó, nó không thể thực hiện truy vấn này.

mysql> SELECT name
    -> FORM products;
ERROR 1064 (42000): You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for
the right syntax to use near 'products' at line 2

Hãy xem xét lỗi trong câu lệnh sau, trong đó bạn đã nhầm tên cột hai từ bằng cách để lại ký tự dấu gạch dưới trong tên. MySQL không cho phép tên cột chứa một khoảng trống, do đó, dấu gạch dưới thường được sử dụng để tách các từ.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)
0

Trong ví dụ này, MySQL đưa ra lỗi cột không xác định thay vì lỗi cú pháp. Cách thực tế MySQL diễn giải điều này là chọn một cột có tên cuối cùng và đặt cho nó một tên bí danh, do đó thực sự không có lỗi trong cú pháp câu lệnh. Đừng lo lắng về các chi tiết về điều này cho bây giờ, nó được đề cập trong Bài 12, "Tạo ra các tham gia nâng cao".

Truy xuất thông tin cơ sở dữ liệu

Để xây dựng một câu lệnh Chọn hợp lệ, bạn cần biết cách tổ chức cơ sở dữ liệu. Lệnh hiển thị được sử dụng để truy xuất thông tin về các thành phần cơ sở dữ liệu.

Lấy một danh sách các cơ sở dữ liệu

Sử dụng lệnh Hiển thị cơ sở dữ liệu để truy xuất danh sách các cơ sở dữ liệu mà bạn có quyền truy cập. Thực hiện lệnh hiển thị giống như một câu lệnh Chọn từ chương trình MySQL.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)
1

Lấy một danh sách các bảng

Khi bạn đã kết nối với cơ sở dữ liệu với lệnh sử dụng trong MySQL, bạn có thể lấy danh sách các bảng trong cơ sở dữ liệu đó với lệnh bảng hiển thị.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)
2

Nếu bạn được kết nối với một cơ sở dữ liệu nhưng muốn liệt kê các bảng trong một cơ sở dữ liệu khác, bạn có thể sử dụng mệnh đề từ mệnh đề với các bảng hiển thị.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)
3

Lấy một danh sách các cột

Để truy xuất cấu trúc bảng cho bảng cơ sở dữ liệu, hãy sử dụng lệnh hiển thị các cột bằng cách sử dụng tên bảng trong mệnh đề từ.

mysql> SELECT name, price
    -> FROM products;
+----------------+-------+
| name           | price |
+----------------+-------+
| Small product  |  5.99 |
| Medium product |  9.99 |
| Large product  | 15.99 |
+----------------+-------+
3 rows in set (0.01 sec)
4

Làm cách nào để lấy dữ liệu cụ thể từ bảng trong SQL?

Cú pháp là: Chọn Cột1, Cột2 từ Bảng1, Bảng2 trong đó cột2 = 'value' ;..
Mệnh đề chọn chỉ định một hoặc nhiều cột cần được truy xuất; Để chỉ định nhiều cột, hãy sử dụng dấu phẩy và không gian giữa các tên cột. ....
Mệnh đề từ chỉ định một hoặc nhiều bảng sẽ được truy vấn ..

Làm thế nào chúng ta có thể lấy dữ liệu từ một bảng?

Để lấy một hàng dữ liệu từ bảng, hãy sử dụng chọn từ câu lệnh.Tuyên bố này tìm thấy một hàng của bảng được chỉ định trong mệnh đề từ, chọn các cột được cung cấp trong danh sách chọn lọc và cung cấp kết quả trong các biến số máy chủ được liệt kê trong mệnh đề vào.use the SELECT INTO FROM statement. This statement finds one row of the table specified in the FROM clause, selects the columns that were supplied in the select-list, and delivers the results in the host-variables listed in the INTO clause.

Làm cách nào để tìm một dữ liệu cụ thể trong MySQL?

MySQL Workbench Có một tab Schemas trên thanh menu bên, nhấp vào tab Schemas, sau đó nhấp đúp vào cơ sở dữ liệu để chọn cơ sở dữ liệu bạn muốn tìm kiếm.Sau đó, vào cơ sở dữ liệu menu - dữ liệu tìm kiếm và nhập văn bản bạn đang tìm kiếm, nhấp vào Bắt đầu tìm kiếm.There is a Schemas tab on the side menu bar, click on the Schemas tab, then double click on a database to select the database you want to search. Then go to menu Database - Search Data, and enter the text you are searching for, click on Start Search.

Làm thế nào tôi có thể lấy dữ liệu từ cơ sở dữ liệu?

Tìm nạp dữ liệu từ cơ sở dữ liệu..
Bắt đầu bằng cách tạo một ứng dụng mới ..
Thêm một màn hình vào ứng dụng của bạn.....
Thêm nguồn dữ liệu vào ứng dụng của bạn bằng cách tham chiếu một số thực thể trong cửa sổ Quản lý phụ thuộc (CTRL+Q).....
Xuất bản ứng dụng bằng cách nhấp vào nút xuất bản 1 nhấp chuột.....
Đã đến lúc tải một số dữ liệu lên màn hình ..