Cơ sở dữ liệu lưu trữ dữ liệu để phục hồi sau này. Bao giờ tự hỏi làm thế nào đạt được? Đó là lệnh CHỌN SQL thực hiện công việc.
Đó là tất cả những gì về nó, lấy dữ liệu từ các bảng cơ sở dữ liệu. Đó 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 .
Cú pháp câu lệnh SQL SELECT
Đây là lệnh SQL được sử dụng thường xuyên nhất và có cú pháp chung sau đây
ở đây
- SELECT là từ khóa SQL cho phép cơ sở dữ liệu biết rằng bạn muốn lấy dữ liệu.
- [DISTINCT | ALL] là các từ khóa tùy chọn có thể được sử dụng để tinh chỉnh các kết quả được trả về từ câu lệnh SQL SELECT. Nếu không có gì được chỉ định thì TẤT CẢ được coi là mặc định.
- {*| [fieldExpression [AS newName]} ít nhất một phần phải được chỉ định, "*" đã chọn tất cả các trường từ tên bảng được chỉ định, fieldExpression thực hiện một số tính toán trên các trường được chỉ định như thêm số hoặc ghép hai trường chuỗi thành một.
- FROM tableName là bắt buộc và phải chứa ít nhất một bảng, nhiều bảng phải được phân tách bằng dấu phẩy hoặc được nối bằng từ khóa THAM GIA.
- Điều kiện WHERE là tùy chọn, nó có thể được sử dụng để chỉ định tiêu chí trong tập kết quả được trả về từ truy vấn.
- GROUP BY được sử dụng để kết hợp các bản ghi có cùng giá trị trường.
- Điều kiện HAVING được sử dụng để chỉ định tiêu chí khi làm việc bằng từ khóa GROUP BY.
- ORDER BY được sử dụng để chỉ định thứ tự sắp xếp của tập kết quả.
*
Biểu tượng Ngôi sao được sử dụng để chọn tất cả các cột trong bảng. Một ví dụ về câu lệnh CHỌN đơn giản trông giống như câu lệnh được hiển thị bên dưới.
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
Câu lệnh trên chọn tất cả các trường từ bảng thành viên. Dấu chấm phẩy là một tuyên bố chấm dứt. Nó không bắt buộc nhưng được coi là một thực hành tốt để kết thúc tuyên bố của bạn như thế.
Ví dụ thực tế
Bạn có thể tìm hiểu để nhập tệp .sql vào MySQL WorkBench
Các ví dụ được thực hiện trên hai bảng sau
Table 1: members table
membership_ number | full_names | gender | date_of_ birth | physical_ address | postal_ address | contct_ number | email |
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
Table 2: movies table
movie_id | title | director | year_released | category_id |
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
Lấy danh sách thành viên
Giả sử rằng chúng tôi muốn nhận danh sách tất cả các thành viên thư viện đã đăng ký từ cơ sở dữ liệu của mình, chúng tôi sẽ sử dụng tập lệnh được hiển thị bên dưới để thực hiện điều đó.
SELECT * FROM `members`;
Thực thi đoạn script trên trong bàn làm việc của MySQL tạo ra các kết quả sau.
membership_ number | full_names | gender | date_of_ birth | physical_ address | postal_ address | contct_ number | email |
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL
|
Truy vấn trên của chúng tôi đã trả về tất cả các hàng và cột từ bảng thành viên.
Giả sử chúng ta chỉ quan tâm đến việc chỉ nhận các trường full_names, giới tính, vật lý và địa chỉ email. Kịch bản sau đây sẽ giúp chúng tôi đạt được điều này.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Thực thi đoạn script trên trong bàn làm việc của MySQL tạo ra các kết quả sau.
Lấy danh sách phim
Hãy nhớ trong cuộc thảo luận ở trên của chúng tôi rằng chúng tôi đề cập đến các biểu thức đã được sử dụng trong các câu lệnh CHỌN. Giả sử chúng tôi muốn lấy danh sách phim từ cơ sở dữ liệu của mình. Chúng tôi muốn có tiêu đề phim và tên của đạo diễn phim trong một lĩnh vực. Tên của đạo diễn phim nên được đặt trong ngoặc. Chúng tôi cũng muốn có được năm mà bộ phim được phát hành. Kịch bản sau đây giúp chúng tôi làm điều đó.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
- Hàm MySQL concat () được sử dụng nối các giá trị cột với nhau.
- Dòng "Concat (` title`, '(', `director`, ')') có được tiêu đề, thêm một dấu ngoặc mở theo sau là tên của giám đốc sau đó thêm khung đóng.
Các phần chuỗi được phân tách bằng dấu phẩy trong hàm Concat ().
Thực thi đoạn mã trên trong bàn làm việc của MySQL tạo ra tập kết quả sau.
Concat(`title`, ' (', `director`, ')') | year_released |
Pirates of the Caribean 4 ( Rob Marshall) | 2011 |
Forgetting Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Code Name Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey mooners (John Schultz) | 2005 |
NULL | 2012 |
tên trường bí danh
Ví dụ trên đã trả về mã Ghép làm tên trường cho kết quả của chúng tôi. Giả sử chúng tôi muốn sử dụng tên trường mô tả nhiều hơn trong tập kết quả của chúng tôi. Chúng tôi sẽ sử dụng tên bí danh cột để đạt được điều đó. Sau đây là cú pháp cơ bản cho tên bí danh cột
SELECT `column_name|value|expression` [AS] `alias_name`;
ở ĐÂY
- "CHỌN` cột_name | giá trị | biểu thức` " là câu lệnh CHỌN thông thường có thể là tên cột, giá trị hoặc biểu thức.
- "[AS]" là từ khóa tùy chọn trước tên bí danh biểu thị biểu thức, giá trị hoặc tên trường sẽ được trả về là.
- "` alias_name` " là tên bí danh mà chúng tôi muốn trả về trong tập kết quả của chúng tôi làm tên trường.
Truy vấn trên với tên cột có ý nghĩa hơn
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Chúng tôi nhận được kết quả như sau
Concat | year_released |
Pirates of the Caribean 4 ( Rob Marshall) | 2011 |
Forgetting Sarah Marshal (Nicholas Stoller) | 2008 |
NULL | 2008 |
Code Name Black (Edgar Jimz) | 2010 |
NULL | 2007 |
NULL | 2007 |
NULL | 2007 |
Honey mooners (John Schultz) | 2005 |
NULL | 2012 |
Nhận danh sách thành viên cho thấy năm sinh
Giả sử chúng ta muốn có một danh sách tất cả các thành viên hiển thị số thành viên, tên đầy đủ và năm sinh, chúng ta có thể sử dụng hàm chuỗi LEFT để trích xuất năm sinh từ ngày sinh. Kịch bản hiển thị dưới đây giúp chúng tôi làm điều đó.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
TRONG ĐÓ
- "LEFT (` date_of_birth`, 4)" các chuỗi chức năng LEFT chấp nhận ngày tháng năm sinh như các tham số và chỉ trả lại 4 ký tự từ bên trái.
- "AS` year_of_birth`" là tên bí danh cột sẽ được trả về trong kết quả của chúng tôi. Lưu ý từ khóa AS là tùy chọn , bạn có thể bỏ nó và truy vấn sẽ vẫn hoạt động.
Thực hiện truy vấn trên trong bàn làm việc của MySQL đối với myflixdb cho chúng ta kết quả được hiển thị bên dưới.
membership_number | full_names | year_of_birth |
1 | Janet Jones | 1980 |
2 | Janet Smith Jones | 1980 |
3 | Robert Phil | 1989 |
4 | Gloria Williams | 1984 |
SQL sử dụng MySQL Workbench
Bây giờ chúng ta sẽ sử dụng bàn làm việc của MySQL để tạo tập lệnh sẽ hiển thị tất cả các tên trường từ bảng danh mục của chúng tôi.
1. Nhấp chuột phải vào Bảng Danh mục. Nhấp vào "Chọn hàng - Giới hạn 1000"
2. Bàn làm việc của MySQL sẽ tự động tạo một truy vấn SQL và dán vào trình soạn thảo.
3. Kết quả truy vấn sẽ được hiển thị
Lưu ý rằng chúng tôi đã không tự viết câu lệnh CHỌN. Bàn làm việc MySQL đã tạo ra nó cho chúng tôi.
Tại sao nên sử dụng lệnh SELECT SQL khi chúng ta có MySQL Workbench?
Bây giờ, bạn có thể nghĩ tại sao học lệnh SQL SELECT để truy vấn dữ liệu từ cơ sở dữ liệu khi bạn chỉ cần sử dụng một công cụ như bàn làm việc của MySQL để có kết quả tương tự mà không cần biết về ngôn ngữ SQL. Tất nhiên là có thể, nhưng học cách sử dụng lệnh SELECT giúp bạn linh hoạt hơn và kiểm soát các câu lệnh SQL SELECT của bạn .
Bàn làm việc của MySQL nằm trong danh mục các công cụ QBE " 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 để tăng năng suất của người dùng.
Học lệnh SQL SELECT có thể cho phép bạn tạo các truy vấn phức tạp không thể tạo dễ dàng bằng cách sử dụng các tiện ích Truy vấn bằng ví dụ như bàn làm việc của MySQL.
Để cải thiện năng suất, bạn có thể tạo mã bằng bàn làm việc của MySQL sau đó tùy chỉnh nó để đáp ứng yêu cầu của bạn . Điều này chỉ có thể xảy ra nếu bạn hiểu cách các câu lệnh SQL hoạt động!
Tóm lược
- Từ khóa SQL SELECT được sử dụng để truy vấn dữ liệu từ cơ sở dữ liệu và đó là lệnh được sử dụng phổ biến nhất.
- Biểu mẫu đơn giản nhất có cú pháp "CHỌN * TỪ tên bảng;"
- Biểu thức cũng có thể được sử dụng trong câu lệnh select. Ví dụ "CHỌN số lượng + giá TỪ doanh số"
- Lệnh SQL SELECT cũng có thể có các tham số tùy chọn khác như WHERE, GROUP BY, HAVING, ORDER BY. Họ sẽ được thảo luận sau.
- Bàn làm việc của MySQL có thể giúp phát triển các câu lệnh SQL, thực thi chúng và tạo ra kết quả đầu ra trong cùng một cửa sổ.
Đăng nhận xét