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 của 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
Truy vấn về cơ bản là yêu cầu lấy thông tin từ bảng cơ sở dữ liệu hoặc 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 nhiều loại truy vấn từ đơn giản đến phức tạp. Truy vấn sẽ lọc các tiêu chí nhất định dựa trên dữ liệu cụ thể được yêu cầu tìm. Nó cũng có thể tự động hóa các tác vụ quản lý dữ liệu và tham gia 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 rõ hơn về cách hoạt động của từng truy vấn
ID nhân viênNameTitle1002Webster W. Điều hành1003Lizzy S. Quản lý1004Oliver T. Software EngineerEmployeeIDDepartmentAge1002HR361003Sales211004IT39trong bài viết này
Chọn tất cả
Một truy vấn CHỌN đơ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ã số
SELECT * FROM Employees;
Kết quả
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer
Để 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 tất cả thông tin có thể được trả về. Thứ hai, nêu từ khóa TỪ để 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 “;”
CHỌN cột
Để lấy dữ liệu từ [các] cột cụ thể chứ không phải mọi thứ, bạn chỉ cần nêu tên trường thay vì sử dụng dấu hoa thị [*]
Mã số
SELECT Title FROM Employees;
Kết quả
Title Executive Manager Software 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;
SELECT Title, Name FROM Employees;
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 khớp với [các] điều kiện.
Mã số.
SELECT * FROM Employees WHERE EmployeeID = 1004 ;
Kết quả.
1004 Oliver T. Software Engineer
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 lựa chọn cột ưa thích của bạn. Khi thêm tên cột, hãy đảm bảo chỉ định loại dữ liệu của chúng.
Mã số
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];
Kết quả bảng dự kiến
EmployeeID
Department
Department
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer1
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer1_______1_______1
Khi bạn chạy lệnh CREATE TABLE và điền vào đó các 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, INSERT INTO
CHÈN VÀO truy vấn
Đây là truy vấn phổ biến nhất để chèn các giá trị vào một hoặc nhiều hàng của bản ghi mới vào một bảng. Chúng tôi có thể điền vào bảng EmployeeInfo một số dữ liệu mẫu;
Mã số.
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer4
Kết quả bảng
Thông tin nhân viên
EmployeeID
Department
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer7
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer8
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer9_______2_______0
SELECT Title FROM Employees;1
SELECT Title FROM Employees;2
SELECT Title FROM Employees;3
SELECT Title FROM Employees;4
SELECT Title FROM Employees;5
SELECT Title FROM Employees;6
Khi viết truy vấn INSERT INTO, lệnh VALUES 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.
Thông tin nhân viên
EmployeeID
Department
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer7
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer8
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer9
Title Executive Manager Software Engineer2
SELECT Title FROM Employees;1
Title Executive Manager Software Engineer4
Title Executive Manager Software Engineer5_______2_______4
SELECT Title FROM Employees;5
SELECT Title FROM Employees;6
Mã số.
Title Executive Manager Software Engineer9
Kết quả bảng.
Thông tin nhân viên
EmployeeID
Department
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer7
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer8
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer9
Title Executive Manager Software Engineer2
SELECT Title FROM Employees;1
Title Executive Manager Software Engineer4
SELECT Title, Name FROM Employees;8
SELECT Title FROM Employees;4
SELECT Title FROM Employees;5
SELECT Title FROM Employees;6
Theo lệnh CẬP NHẬT, 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 cho
XÓA KHỎI truy vấn
Để xóa các bản ghi khỏi một bảng dựa trên một hoặc nhiều điều kiện, bạn cần sử dụng câu lệnh DELETE FROM. Khi sử dụng các điều kiện, nó sẽ giới hạn số lượng hàng bị ảnh hưởng bởi truy vấn.
Mã số.
SELECT * FROM Employees WHERE EmployeeID = 1004 ;2
Kết quả bảng
Người lao động
EmployeeID
5_______4SELECT * FROM Employees WHERE EmployeeID = 1004 ;5
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer8
SELECT * FROM Employees WHERE EmployeeID = 1004 ;7
SELECT * FROM Employees WHERE EmployeeID = 1004 ;8
SELECT Title FROM Employees;4
1004 Oliver T. Software Engineer
01004 Oliver T. Software Engineer
1Như đã đề cập trước đó trong bài viết; . 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 hầu như luôn được sử dụng với các hàm tổng hợp. Việc sử dụng từ khóa này sẽ nhóm tập hợp 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 kết quả đó. Lý tưởng nhất là bạn sẽ nghĩ rằng mệnh đề WHERE sẽ được đặt thay thế, tuy nhiên, mệnh đề HAVING đưa ra một điều kiện đối với các tập hợp
Thông tin nhân viên
EmployeeID
Department
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer7
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer8
1002 Webster W. Executive 1003 Lizzy S. Manager 1004 Oliver T. Software Engineer9
Title Executive Manager Software Engineer2
SELECT Title FROM Employees;1
Title Executive Manager Software Engineer4
Title Executive Manager Software Engineer5_______2_______4
SELECT Title FROM Employees;5
SELECT Title FROM Employees;6
Mã số
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];4
Kết quả
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];5
Hàm tổng hợp [SUM, AVG và COUNT]
Có ba hàm tổng hợp cực kỳ phổ biến cho phép diễn giải dữ liệu từ một bảng hoặc chạy các phép tính.
- ĐẾM. trả về số hàng khớp với một cột đã chỉ định
- AVG. trả về giá trị trung bình của một cột
- TỔNG. trả về tổng của tất cả các giá trị trong một cột đã chọn
Thông tin nhân viên
ID nhân viênBộ phậnTuổi1002Nhân sự361003Doanh số211004NÓ39
Mã cho COUNT
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];6
Kết quả
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];7
Mã cho AVG
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];8
Kết quả
CREATE TABLE EmployeeInfo [ EmployeeId INT, Department VARCHAR[25], Age NUMBER ];9
Mã cho SUM
EmployeeID
0Kết quả
EmployeeID
1
THAM GIA
Các liên kết được sử dụng để tập hợp các hàng từ ít nhất hai bảng, dựa trên một cột có liên quan giữa các bảng. Các phép nối 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 nối là đúng
- FULL Join – trả về tất cả các hàng khi có sự trùng khớp trong bản ghi bảng bên trái hoặc bên phải
- LEFT Join – 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àn số 1 [Trái]
ID nhân viênTênTiêu đề1002Webster W. Giám đốc 1003Lizzy S. Người quản lý1004Oliver T. Kỹ sư phần mềm
Thông tin nhân viên – Bảng #2 [Phải]
ID nhân viênBộ phậnTuổi1002Nhân sự361003Doanh số211004NÓ39
INNER THAM GIA Mã.
EmployeeID
2Kết quả
EmployeeID
3
Mã THAM GIA ĐẦY ĐỦ
EmployeeID
4Kết quả
Sẽ lấy tất cả các hàng và cột từ cả hai bảng, bao gồm cả các bản sao và kết hợp chúng thành một bảng hoàn chỉnh
Mã THAM GIA TRÁI
EmployeeID
5Kết quả
EmployeeID
6Cột “EmployeeID” trong bảng “Employee” đề cập đến “EmployeeID” trong bảng “EmployeeInfo”, về cơ bản chỉ ra 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 được sử dụng phổ biến nhất bởi cả người mới bắt đầu và các chuyên gia. Viết các truy vấn MySQL được coi là chức năng thường xuyên nhất trong miền quản lý cơ sở dữ liệu