Nội dung chính
Cơ sở dữ liệu lưu trữ dữ liệu với mục đích là để giúp chúng ta truy xuất dữ liệu sau này. Vậy phải làm thế nào để làm được công việc đó? Trong thực tế, lệnh SELECT trong MySQL sẽ giúp chúng ta thực hiện truy vấn dữ liệu một cách dễ dàng. Nó là một phần của ngôn ngữ thao tác dữ liệu chịu trách nhiệm truy vấn dữ liệu từ cơ sở dữ liệu.
Lệnh SELECT là câu lệnh được sử dụng thường xuyên nhất trong SQL, nó có cú pháp chung sau đây:
Trong đó:
Ký tự “*” được sử dụng khi muốn chọn tất cả các cột trong một bảng. Sau đây là ví dụ về một câu lệnh SELECT đơn giản:
Câu lệnh trên chọn tất cả các trường từ bảng “members”. Dấu chấm phẩy dùng để tuyên bố chấm dứt câu lệnh. Mặc dù không bắt buộc sử dụng dấu chấm phẩy nhưng tốt nhất là bạn nên sử dụng nó khi kết thúc một câu lệnh.
Để hiểu rõ và luyện tập tốt hơn phần này, bạn nên tải dữ liệu myflix DB để thực hiện chạy trong MySQL
https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k
Import file .sql vào MySQL workbench
Các ví dụ được thực hiện dựa trên hai bảng sau:
Bảng 1: members:
Bảng 2: movies:
Giả sử rằng chúng ta muốn lấy danh sách tất cả các thành viên đã đăng ký vào thư viện từ cơ sở dữ liệu này, thực hiện câu lệnh sau:
Khi chạy câu lệnh này, trong MySQL workbench sẽ hiển thị kết quả :
Truy vấn trên trả về tất cả các hàng và cột từ bảng “members”
Trong trường hợp chúng ta chỉ quan tâm đến các trường full_names, gender, physical_address và email thì có thể sử dụng câu lệnh sau:
Khi thực hiện câu lệnh trên sẽ cho ra kết quả:
Giả sử chúng ta muốn lấy danh sách phim từ cơ sở dữ liệu và năm phát hành. Với điều kiện là tên phim và tên đạo diễn trong cùng một trường. Tên của đạo diễn phim được đặt trong dấu ngoặc đơn. Câu lệnh sau sẽ giúp thực hiện điều đó:
Trong đó:
Thực thi câu lệnh trên trong MySQL tạo ra tập kết quả sau.
Ví dụ ở phần trên trả về dòng lệnh Concat (`title`, ‘ (‘, `director`, ‘)’) làm tên cột mới cho kết quả hiện ra. Giả sử chúng ta muốn đặt tên khác để mô tả cụ thể và rõ ràng hơn cho cột thông tin đó thì có thể sử dụng câu lệnh sau:
Trong đó:
Thực hiện lại câu lệnh concat() trên với tên thay thế là “Concat” :
Kết quả sẽ như sau:
Giả sử muốn xem danh sách tất cả các thành viên với mã số thành viên, họ tên và năm sinh, chúng ta có thể sử dụng hàm LEFT để trích xuất năm sinh từ cột ngày tháng năm sinh
Trong đó:
“LEFT(`date_of_birth`,4)” : Hàm LEFT chấp nhận ngày sinh làm tham số và chỉ trả về 4 ký tự đầu tiên từ bên trái sang.
“AS `year_of_birth`” là tên thay thế của cột được trả về trong kết quả. Lưu ý là AS là tùy chọn, nếu bạn bỏ qua nó thì câu truy vấn vẫn sẽ hoạt động bình thường
Thực hiện câu lệnh truy vấn ở trên trong MySQL sẽ cho ra kết quả sau:
Trong phần này chúng ta sẽ sử dụng MySQL workbench để tạo câu lệnh hiển thị tất cả tên trường từ bảng danh mục. Thực hiện các bước sau :
Lưu ý rằng chúng ta không tự viết câu lệnh truy vấn mà MySQL đã tự động tạo ra.
Vậy tại sao chúng ta phải sử dụng lệnh SELECT SQL trong khi đã có MySQL workbench?
Sau khi đọc đến phần này, bạn có thể nghĩ rằng tại sao chúng ta phải học lệnh SQL SELECT để truy vấn dữ liệu trong khi chỉ cần sử dụng một công cụ như MySQL workbench là có thể ra kết quả tương tự mà không cần phải biết về ngôn ngữ SQL. Tất nhiên điều đó là có thể nhưng học cách sử dụng lệnh SELECT sẽ giúp bạn linh hoạt hơn và có thể kiểm soát được tốt hơn các câu lệnh SQL SELECT của mình.
MySQL workbench nằm trong danh mục các công cụ QBE “Query by Example – Truy vấn bằng ví dụ”. Nó nhằm mục đích giúp tạo các câu lệnh SQL nhanh hơn để giúp tăng năng suất người dùng. Tuy nhiên Học lệnh SQL SELECT có thể cho phép bạn tạo các truy vấn phức tạp mà không thể dễ dàng tạo ra bằng các tiện ích QBE.
Bên cạnh đó, để cải thiện năng suất, bạn có thể tạo code bằng các câu lệnh có sẵn của MySQL workbench sau đó tùy chỉnh nó để đáp ứng yêu cầu của bản thân. Điều này chỉ có thể xảy ra trong trường hợp bạn đã nắm rõ và hiểu cách các câu lệnh SQL hoạt động !
Cám ơn các bạn đã theo dõi đến hết bài. Nếu các bạn muốn biết thêm kiến thức về truy vấn dữ liệu SQL thì có thể xem thêm các bài viết khác của gitiho nhé!
Nội dung liên quan