Rất đơn giản, một query nghĩa là một yêu cầu truy vấn thông tin. Vậy, query trong ngôn ngữ lập trình là gì? Cũng vậy thôi – thông tin ở đây sẽ là thông tin trích xuất từ một database – cơ sở dữ liệu. Query dùng để thực hiện các thao tác lên dữ liệu đó (data manipulation) – thêm, xóa, thay đổi. Đây là ý nghĩa của từ query trong bài viết này.

Bạn đang xem: Queries là gì

Tuy nhiên, bạn sẽ không thể nhận được bất kỳ thông tin, dữ liệu nào nếu chỉ thực hiện một lệnh truy vấn tùy ý. Query của bạn phải dựa trên một cấu trúc code được định sẵn mà cơ sở dữ liệu có thể hiểu được. Cấu trúc code này có thể xem như là ngôn ngữ truy vấn – query language.

Tiêu chuẩn hiện nay của ngôn ngữ truy vấn là Structured Query Language (SQL). Hãy nhớ, SQL khác hoàn toàn với MySQL: SQL là ngôn ngữ truy vấn, còn MySQL là một phần mềm sử dụng ngôn ngữ này. Mặc dù SQL là lựa chọn phổ biến của những phần mềm database, nhưng nó không phải là duy nhất. Những ngôn ngữ khác là AQL, Datalog, DMX.

Những ngôn ngữ này đều nhằm mục đích giúp cho việc giao tiếp database dễ dàng hơn.

Vừa mới bắt đầu lập trình web? Chúng tôi hỗ trợ các gói web hosting đầy đủ, phù hợp hoàn toàn cho doanh nghiệp nhỏ và vừa hoặc dành cho các lập trình viên cần môi trường sáng tạo.

Tìm hiểu thêm

Query hoạt động như thế nào?

Hãy nói về một truy vấn trong đời sống hằng ngày trước. Ví dụ bạn muốn mua một ly Cà Phê Sữa Đá trong Startbucks. Bạn sẽ đưa ra yêu cầu “Cho mình ly cà phê sữa đá?”. Nhân viên pha chế sẽ hiểu yêu cầu của bạn và thực hiện đơn hàng.

Xem thêm: Buộc Lượng Khí Thở Trong Một Giây Hoặc Fev1 Là Gì

Một query hoạt động tương tự. Bạn sẽ sử dụng ngôn ngữ query để gửi yêu cầu bạn muốn. Bất kể bạn sử dụng SQL hay ngôn ngữ nào khác, miễn là cả database và bạn hiểu và sử dụng chung 1 ngôn ngữ bạn sẽ có thể thực hiện truy vấn và nhận kết quả đúng như mong muốn. Dĩ nhiên rồi phải không, nếu bạn nói tiếng Pháp và nhân viên pha chế nói tiếng Việt thì anh ta sẽ không làm được ly cà phê nào cho bạn.

Chắc bạn tưởng thực hiện truy vấn là cách duy nhất để lấy dữ liệu. Không hẵn, trên thực tế có nhiều cách khác để thực hiện việc này miễn là database software. Chúng tôi tổng hợp các cách để lấy dữ liệu như sau:

Sử dụng tham số có sẵn Phần mềm mặc định có sẵn các tham số trong menu của nó. Người dùng có thể chọn, hệ thống sẽ hướng dẫn bạn cách để lấy kết quả mong muốn. Dễ thực hiện, nhưng không linh hoạt và có nhiều hạn chế về cách vận hành.Sử dụng cấu trúc gợi ý Hệ thống sẽ hiển thị một bộ code cho bạn với các khoảng trống để điền vào, bạn có thể điền thêm giá trị là được.Ngôn ngữ query Bạn đã biết có nhiều ngôn ngữ query. Bạn sẽ phải viết truy vấn nếu muốn sử dụng dữ liệu. Phương pháp này đòi hỏi bạn có kiến thức về ngôn ngữ query đang được database software của bạn sử dụng. Mặc dù hơi phúc tạp nhưng nó cho bạn toàn quyền kiểm soát dữ liệu.

Xem thêm: Ischemic Heart Disease Là Gì, BệNh MạCh Vã Nh (Coronary Artery Disease

Ví dụ một query

Giờ bạn đã biết query là gì, vậy tại sao lại không thử ngay? Hãy nhớ chúng tôi sử dụng SQL làm ngôn ngữ chính.

Nguồn dữ liệu: Participant (tên bảng)

Ví dụ bạn cần lấy một thông từ trong bảng khảo sát sau:

IDNameSexAgeOccupation
1JohnNam17Student
2PeterNam26Unemployed
3MargarethNu34Teacher
4LeaNu34Unemployed

Thực hành

Với SQL, bạn có thể viết các query như là SQL SELECT hay SQL ACTION. Như tên của nó, SQL SELECT giúp bạn chọn từng phần của cơ sở dữ liệu, SQL ACTION giúp bạn thực hiện những hoạt động như là xóa hoặc thêm thông tin, cập nhật giá trị hoặc tạo bảng mới. Xem các ví dụ bên dưới sẽ dễ hiểu hơn:

Chọn chỉ cột “Name” và “Occupation” từ bảng “participant”. SQL Statement: SELECT Name, Occupation FROM Participant Kết quả:

NameOccupation
JohnStudent
PeterUnemployed
MargarethTeacher
LeaUnemployed

Xóa dữ liệu từ những người đang không đi làm. SQL Statement: DELETE FROM Participant WHERE Occupation = ‘Unemployed’Kết quả:

IDNameSex AgeOccupation
1JohnNam17Student
3MargarethNu34Teacher

Thêm một dòng vào trong bảng một người có tên Mario, 67 tuổi, đã nghĩ hưu. SQL Statement: INSERT INTO Participant (ID, Name, Sex, Age, Occupation) VALUES (‘5’, ‘Mario’, ‘Nam’, ‘67’, ‘Retired’) Kết quả:

IDNameSex AgeOccupation
1JohnNam17Student
2PeterNam26Unemployed
3MargarethNu34Teacher
4LeaNu34Unemployed
5MarioNam67Retired

*

Trần Minh Hoàng Trả lời

Tháng Tám 19 2020

dạ, em xin chào anh, em hiện là sinh viên, anh có thể chỉ cho em học về DATABASE như nào là có thể vững căn bản được không ạ, đây là môn mà em tìm tài liệu rất khó, em học khá là mơ hồ về phần đầu (biểu dồ erd, xác định mối quan hệ,…). Nhưng đến khi sử dụng những câu truy vấn thì em học khá ổn và có cảm giác thích thú. Em cũng gặp khó khăn về phần nhập dữ liệu thời gian trong SQL sever. Năm sau em rất muốn theo ngành web nhưng phần database em không tốt cho lắm. Mong anh giúp đỡ. Thân!!

Chuyên mục: Hỏi Đáp