Các chức năng phổ biến của mysql là gì?

Các hàm cửa sổ và biểu thức bảng chung của MariaDB và MySQL được tiết lộ giới thiệu và giải thích các CTE và hàm cửa sổ, mới có sẵn trong MariaDB 10. 2 và Mysql 8. 0 và giúp bạn hiểu lý do và cách mọi lập trình viên cơ sở dữ liệu MariaDB và MySQL nên tìm hiểu và áp dụng các tính năng này trong công việc hàng ngày của họ. CTE và đặc biệt là các chức năng cửa sổ cho phép giải quyết dễ dàng nhiều thách thức truy vấn mà trong các phiên bản trước rất khó và đôi khi không thể vượt qua. Nắm vững các tính năng này sẽ mở ra cơ hội cho các giải pháp truy vấn mạnh mẽ hơn, thực thi nhanh hơn và dễ bảo trì hơn theo thời gian so với các giải pháp trước đây sử dụng các kỹ thuật cũ hơn. Quyển sách

  • Hướng dẫn bạn từng bước về hoạt động của các biểu thức bảng thông thường và các hàm cửa sổ
  • Cung cấp các ví dụ dễ thực hiện về cú pháp mới
  • Giúp bạn trả lời các câu hỏi kinh doanh nhanh hơn và dễ dàng hơn bao giờ hết
Bạn sẽ học được điều gì

  • Trả lời các câu hỏi kinh doanh bằng cách sử dụng các truy vấn đơn giản không bị hỏng khi đối mặt với dữ liệu không mong muốn
  • Tránh viết các truy vấn là một vũng lầy khó duy trì của các truy vấn con tự nối và lồng nhau
  • Nhận biết các tình huống yêu cầu các chức năng của cửa sổ và tìm hiểu thời điểm sử dụng các tính năng này
  • Giảm nhu cầu tự tham gia cướp hiệu suất
  • Đơn giản hóa và tăng tốc độ thực hiện các truy vấn phân tích
  • Tạo các truy vấn kết thúc sau vài giây thay vì hàng giờ

Quản trị viên cơ sở dữ liệu và nhà phát triển ứng dụng muốn nhanh chóng tăng tốc các tính năng quan trọng trong MariaDB và MySQL để viết truy vấn nghiệp vụ thông minh. Bất kỳ nhà phát triển nào viết SQL dựa trên cơ sở dữ liệu MariaDB và MySQL sẽ được hưởng lợi rất nhiều từ kiến ​​thức và kỹ thuật mà cuốn sách này cung cấp.  

từ khóa

  • MariaDB
  • mysql
  • biểu thức bảng chung
  • CTE
  • chức năng cửa sổ
  • chức năng phân tích
  • bảng dẫn xuất
  • truy vấn con
  • truy vấn con đệ quy
  • đệ quy
  • thứ hạng
  • lỗi
  • chỉ huy
  • truy vấn xếp hạng

Tác giả và Chi nhánh

  • Raleigh, Hoa Kỳ

    Daniel Bartholomew

Daniel Bartholomew đã sử dụng Linux từ năm 1997 và cơ sở dữ liệu từ năm 1998. Ngoài cuốn sách này, anh ấy đã viết MariaDB Cookbook và Bắt đầu với MariaDB [ấn bản thứ nhất và thứ hai], và hàng chục bài báo cho các tạp chí khác nhau, bao gồm Tạp chí Linux, Linux Pro, Người dùng Ubuntu và Tux. Daniel đã tham gia vào dự án MariaDB ngay sau khi nó bắt đầu vào đầu năm 2009 và tiếp tục tham gia cho đến ngày nay. Anh ấy hiện đang làm việc cho MariaDB, Inc. , nơi anh phân chia thời gian của mình giữa việc quản lý các bản phát hành MariaDB, viết tài liệu mới và duy trì các bit và phần khác nhau để giữ cho dự án MariaDB hoạt động trơn tru. Daniel hiện là Trình quản lý phát hành chính thức cho cơ sở dữ liệu MariaDB

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. Kỹ sư phần mềmID nhân viênBộ phậnAge1002HR361003Sales211004IT39

trong bài viết này

  • Chọn tất cả
  • CHỌN cột
  • Mệnh đề WHERE
  • Tạo bảng
  • CHÈN VÀO truy vấn
  • CẬP NHẬT truy vấn
  • XÓA KHỎI truy vấn
  • Sử dụng mệnh đề GROUP BY, HAVING
  • Hàm tổng hợp [SUM, AVG và COUNT]
  • THAM GIA

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
______9
Department
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
1
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
1
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
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 Engineer
4

Kết quả bảng

Thông tin nhân viên

EmployeeID
______9
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
7
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
8
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
9
SELECT Title
FROM Employees;
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
_______9
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
7
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
8
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
9
Title
Executive
Manager
Software Engineer
2
SELECT Title
FROM Employees;
1
Title
Executive
Manager
Software Engineer
4
Title
Executive
Manager
Software Engineer
5
SELECT Title
FROM Employees;
4
SELECT Title
FROM Employees;
5
SELECT Title
FROM Employees;
6

 

Mã số.  

Title
Executive
Manager
Software Engineer
9

Kết quả bảng.  

Thông tin nhân viên

EmployeeID
_______9
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
7
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
8
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
9
Title
Executive
Manager
Software Engineer
2
SELECT Title
FROM Employees;
1
Title
Executive
Manager
Software Engineer
4
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
_______54
SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;
5
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
8
SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;
7
SELECT *
FROM Employees
WHERE EmployeeID = 1004 ;
8
SELECT Title
FROM Employees;
4
1004       Oliver T.          Software Engineer 
0
1004       Oliver T.          Software Engineer 
1

Như đã đề 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
_______9
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
7
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
8
1002       Webster W.     Executive
1003       Lizzy S.       Manager
1004       Oliver T.      Software Engineer
9
Title
Executive
Manager
Software Engineer
2
SELECT Title
FROM Employees;
1
Title
Executive
Manager
Software Engineer
4
Title
Executive
Manager
Software Engineer
5
SELECT Title
FROM Employees;
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ênPhòng banTuổi1002Nhân sự361003Sales211004IT39

 

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
0

Kế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 các 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ênChức danh1002Webster W. Giám đốc điều hành 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ênPhòng banTuổi1002Nhân sự361003Sales211004IT39

 

INNER THAM GIA Mã.  

EmployeeID
2

Kết quả

EmployeeID
3

 

Mã THAM GIA ĐẦY ĐỦ

EmployeeID
4

Kế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
5

Kết quả

EmployeeID
6

Cộ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

Hai loại chức năng trong MySQL là gì?

Trong MySQL, chúng ta có các loại hàm khác nhau. Hàm chuỗi . hàm số.

4 loại hàm nào có sẵn trong SQL?

Các loại hàm SQL .
Hàm đếm SQL
Hàm tổng SQL
Hàm trung bình SQL
Hàm SQL Max
Hàm tối thiểu SQL

Chủ Đề