Các truy vấn MySQL thường được viết một lần và sau đó được gói trong các hàm lớp để giảm thiểu việc lặp lại mã. Bài viết này liệt kê 10 truy vấn được sử dụng thường xuyên nhất trong MySQL.
Về cơ bản, một Query là một yêu cầu thông tin được truy xuất từ một bảng cơ sở dữ liệu hoặc một tổ hợp các bảng. Có nhiều ngôn ngữ truy vấn có thể được viết để thực hiện một loạt các truy vấn từ đơn giản đến phức tạp. Các truy vấn sẽ lọc các tiêu chí nhất định dựa trên dữ liệu cụ thể mà nó được yêu cầu tìm. Nó cũng có thể tự động hóa các nhiệm vụ quản lý dữ liệu và tham gia vào các tính toán. Hướng dẫn này thảo luận về 10 truy vấn MySQL phổ biến nhất.
Hãy sử dụng các cơ sở dữ liệu demo này để giúp chúng tôi hiểu thêm về cách hoạt động của từng truy vấn.
ID nhân viên | Tên | Tiêu đề |
---|---|---|
1002 | Webster W. | Giám đốc điều hành |
1003 | Lizzy S. | Người quản lý |
1004 | Oliver T. | Kỹ sư phần mềm |
ID nhân viên | Phòng | Tuổi |
---|---|---|
1002 | Nhân sự | 36 |
1003 | Bán hàng | 21 |
1004 | CNTT | 39 |
CHỌN tất cả
Một truy vấn SELECT đơn giản được sử dụng để tìm nạp và gửi lại tất cả dữ liệu từ cơ sở dữ liệu. Cú pháp của nó có thể được viết như vậy;
Mã:
CHỌN * TỪ Nhân viên;
Kết quả:
1002 Webster W. Executive1003 Lizzy S. Manager1004 Oliver T. Kỹ sư phần mềm
Để chọn tất cả các cột có sẵn trong bảng, bạn phải sử dụng “*” để cho biết rằng bạn cần trả lại tất cả thông tin có thể có. Thứ hai, khai báo từ khóa FROM để nhận dữ liệu từ bảng cơ sở dữ liệu. Cuối cùng, hãy luôn nhớ kết thúc câu lệnh của bạn bằng dấu chấm phẩy “;” để hoàn thành yêu cầu đúng cách.
CHỌN Cột
Để lấy dữ liệu từ (các) cột cụ thể chứ không phải tất cả mọi thứ, bạn chỉ muốn nêu tên trường thay vì sử dụng dấu hoa thị (*).
Mã:
CHỌN Nhân viên TitleFROM;
Kết quả:
Tiêu đề ExecutiveManagerSoftware Engineer
Khi chọn nhiều cột từ cơ sở dữ liệu, chúng phải được phân tách bằng dấu phẩy. Như vậy;
CHỌN Chức danh, TênFROM Nhân viên;
Mệnh đề WHERE
Khi sử dụng mệnh đề WHERE trong truy vấn SELECT, các bản ghi dữ liệu sẽ được lọc, sau đó trích xuất các bản ghi phù hợp với (các) điều kiện.
Mã:
CHỌN * TỪ NHÂN VIÊNWHERE EmployeeID =1004;
Kết quả:
1004 Oliver T. Kỹ sư phần mềm
Mệnh đề WHERE có thể có nhiều hơn một điều kiện có thể được phân tách bằng cách sử dụng từ khóa AND.
TẠO bảng
Truy vấn này có thể được sử dụng để tạo một bảng mới với sự lựa chọn ưa thích của bạn về các cột. Khi thêm tên cột, hãy nhớ chỉ định kiểu dữ liệu của chúng.
Mã:
TẠO BẢNG EmployeeInfo (EmployeeId INT, Department VARCHAR (25), Age NUMBER);
Kết quả Bảng mong đợi:
EmployeeID | Bộ phận | Bộ phận |
NULL | NULL | NULL |
Khi bạn chạy lệnh CREATE TABLE và điền vào nó với tiêu đề cột, Truy vấn trên sẽ tạo một bảng “EmployeeInfo” trong cơ sở dữ liệu. Về cơ bản mỗi cột sẽ trả về NULL vì chúng tôi chưa chèn bất kỳ giá trị cụ thể nào. Điều đó dẫn chúng ta đến truy vấn tiếp theo, CHÈN VÀO.
CHÈN VÀO Truy vấn
Đây là truy vấn phổ biến nhất để chèn giá trị vào một hoặc nhiều hàng bản ghi mới vào bảng. Chúng tôi có thể điền vào bảng EmployeeInfo một số dữ liệu mẫu;
Mã:
CHÈN VÀO CÁC GIÁ TRỊ CỦA EmployeeInfo (Nhân viên, Bộ phận, Tuổi) (1002, Nhân sự, 46), (1003, Tài chính, 28), (1004, CNTT, 39);
Kết quả bảng:
EmployeeInfo
EmployeeID | Bộ phận | Tuổi |
1002 | Nhân sự | 46 |
1003 | Tài chính | 28 |
1004 | IT | 39 |
Khi viết truy vấn CHÈN VÀO, lệnh GIÁ TRỊ phải là một phần của câu lệnh hoàn chỉnh.
CẬP NHẬT Truy vấn
Từ khóa này được sử dụng để thay đổi một hoặc nhiều cột hiện có trong bảng. Sử dụng truy vấn này sẽ cập nhật các bản ghi bảng với dữ liệu mới dựa trên một số điều kiện.
EmployeeInfo
EmployeeID | Bộ phận | Tuổi |
1002 | Nhân sự | 36 |
1003 | Bán hàng | 21 |
1004 | IT | 39 |
Mã:
CẬP NHẬT EmployeeInfoSET Age =22WHERE EmployeeID =1003;
Kết quả bảng:
EmployeeInfo
EmployeeID | Bộ phận | Tuổi |
1002 | Nhân sự | 36 |
1003 | Bán hàng | 22 |
1004 | IT | 39 |
Sau lệnh UPDATE, sử dụng từ khóa SET để luôn chỉ định (các) cột bạn chọn sửa đổi, sau đó nêu chính xác NƠI bạn cần dữ liệu cập nhật được áp dụng.
XÓA KHỎI Truy vấn
Để xóa bản ghi khỏi bảng dựa trên một hoặc nhiều điều kiện, bạn sẽ cần sử dụng câu lệnh DELETE FROM. Khi sử dụng các điều kiện, nó giới hạn số hàng bị ảnh hưởng bởi truy vấn.
Mã:
XÓA KHỎI NHÂN VIÊNWHERE Name =‘Lizzy’;
Kết quả bảng:
Nhân viên
EmployeeID | Tên | Tiêu đề |
1002 | Webster W. | Giám đốc điều hành |
1004 | Oliver T. | Kỹ sư phần mềm |
Như đã đề cập trước đó trong bài báo; sử dụng điều kiện WHERE xác định chính xác nơi bạn yêu cầu dữ liệu được lọc ra và thực thi. Truy vấn đó là xóa mọi bản ghi khỏi bảng Nhân viên khớp với tên "Lizzy".
Sử dụng mệnh đề GROUP BY, HAVING
Mệnh đề GROUP BY chủ yếu luôn được sử dụng với các hàm tổng hợp. Sử dụng từ khóa này sẽ nhóm kết quả lại với nhau theo một hoặc nhiều cột.
Từ khóa HAVING được sử dụng để lọc tập hợp kết quả đó. Lý tưởng nhất là bạn sẽ nghĩ rằng mệnh đề WHERE sẽ được đưa vào thay thế, tuy nhiên, mệnh đề HAVING đưa ra một điều kiện về tổng hợp.
EmployeeInfo
EmployeeID | Bộ phận | Tuổi |
1002 | Nhân sự | 36 |
1003 | Bán hàng | 21 |
1004 | IT | 39 |
Mã:
SELECT COUNT (Age), EmployeeIDFROM EmployeeInfoGROUP BY EmployeeIDHAVING COUNT (Age)> 21;
Kết quả:
COUNT (Tuổi) EmployeeID39 100436 1002
Hàm tổng hợp (SUM, AVG &COUNT)
Có ba hàm tổng hợp cực kỳ phổ biến cho phép dữ liệu từ một bảng được diễn giải hoặc chạy các phép tính.
- COUNT:trả về số hàng phù hợp với một cột được chỉ định.
- AVG:trả về giá trị trung bình của một cột
- SUM:trả về tổng của tất cả các giá trị trong một cột đã chọn.
EmployeeInfo
EmployeeID | Bộ phậnTuổi | |
1002 | Nhân sự | 36 |
1003 | Bán hàng | 21 |
1004 | CNTT | 39 |
Mã cho COUNT:
CHỌN ĐẾM (Bộ phận) TỪ EmployeeInfo;
Kết quả:
COUNT (Bộ phận):3
Mã cho AVG:
CHỌN AVG (Tuổi) TỪ EmployeeInfo;
Kết quả:
AVG (Tuổi):32
Mã cho SUM
CHỌN SUM (Tuổi) TỪ EmployeeInfo;
Kết quả:
SUM (Tuổi):96
THAM GIA
Các phép nối được sử dụng để tập hợp các hàng từ ít nhất hai bảng lại với nhau, dựa trên một cột có liên quan giữa các bảng. Các phép nối thực hành phổ biến nhất là INNER, FULL và LEFT.
- INNER Join - kết hợp các hàng từ các bảng khác nhau nếu điều kiện kết hợp là đúng.
- Tham gia ĐẦY ĐỦ - trả về tất cả các hàng khi có sự trùng khớp trong các bản ghi bảng bên trái hoặc bên phải.
- Tham gia TRÁI - truy xuất tất cả các hàng từ bảng bên trái và các bản ghi phù hợp từ bảng bên phải.
Nhân viên - Bảng # 1 (Trái)
EmployeeID | Tên | Tiêu đề |
1002 | Webster W. | Điều hành |
1003 | Lizzy S. | Người quản lý |
1004 | Oliver T. | Kỹ sư phần mềm |
EmployeeInfo - Bảng # 2 (Phải)
EmployeeID | Bộ phậnTuổi | |
1002 | Nhân sự | 36 |
1003 | Bán hàng | 21 |
1004 | CNTT | 39 |
Mã THAM GIA INNER:
CHỌN NHÂN VIÊN.Title, EmployeeInfo.DepartmentFROM Nhân viên INNER THAM GIA EmployeeInfo TRÊN NHÂN VIÊN.EELECTeeID =Nhân viên.E JobeeID;
Kết quả:
Phòng chức danh Giám đốc nhân sự điều hành Giám đốc bán hàng phần mềm Kỹ sư CNTT
Mã THAM GIA ĐẦY ĐỦ:
CHỌN * TỪ NHÂN VIÊN ĐẦY ĐỦ THAM GIA EmployeeInfo TRÊN CÁC NHÂN VIÊN.Kết quả:
Sẽ lấy tất cả các hàng và cột từ cả hai bảng, kể cả các bảng trùng lặp và kết hợp chúng thành một bảng toàn bộ.
Mã THAM GIA TRÁI:
CHỌN Nhân viên.Name, EmployeeInfo.AgeFROM Nhân viên TRÁI THAM GIA EmployeeInfo BẬT Nhân viên.EpriseeID =Nhân viên.E JobeeID;Kết quả:
Tên AgeWebster W. 36 Lizzy S. 21 Oliver T. 39Cột “EmployeeID” trong bảng “Employee” đề cập đến “EmployeeID” trong bảng “EmployeeInfo”, về cơ bản nêu rõ rằng cột EmployeeID là mối quan hệ giữa cả hai bảng. Các phép nối có thể trở nên phức tạp nhưng đồng thời cực kỳ hữu ích khi sắp xếp thông qua cơ sở dữ liệu lớn hơn.
Người dùng và cơ sở dữ liệu có thể trao đổi thông tin thành công bằng cách nói cùng một ngôn ngữ. Các truy vấn được liệt kê ở trên là những truy vấn phổ biến nhất được sử dụng bởi cả người mới bắt đầu và các chuyên gia. Viết truy vấn MySQL được coi là chức năng thường xuyên nhất trong lĩnh vực quản lý cơ sở dữ liệu.
Bài báo này đã được đánh giá và cập nhật vào tháng 4 năm 2022 bởi Kelsey Perkins.