CHỨC NĂNG TẠO trong MySQL là gì?

Bài viết này mô tả cách tạo và thực thi các chức năng và quy trình được lưu trữ của MySQL trên tài khoản Dịch vụ lưu trữ A2 của bạn. Bạn có thể sử dụng các hàm và thủ tục được lưu trữ cho nhiều tình huống khác nhau. Ví dụ: các chức năng và thủ tục được lưu trữ được thiết kế tốt có thể tăng cường bảo mật cơ sở dữ liệu, cải thiện tính toàn vẹn của dữ liệu và tăng hiệu suất

chức năng lưu trữ

Các chức năng được lưu trữ của MySQL cung cấp một cách mạnh mẽ và linh hoạt để thao tác và xử lý dữ liệu. Bạn có thể xác định và chạy các chức năng được lưu trữ trên bất kỳ máy chủ A2 Hosting nào sử dụng MySQL

Thiết lập cơ sở dữ liệu thử nghiệm

Để minh họa một ví dụ cơ bản về các chức năng được lưu trữ, hãy bắt đầu bằng cách tạo cơ sở dữ liệu mà chúng tôi có thể sử dụng cho mục đích thử nghiệm. Trong câu lệnh SQL sau, hãy thay thế tên người dùng bằng tên người dùng tài khoản của bạn

CREATE DATABASE username_test;

Nếu bạn đang sử dụng phpMyAdmin, hãy nhấp vào tên username_test để chọn cơ sở dữ liệu. Mặt khác, nếu bạn đang sử dụng chương trình dòng lệnh mysql, hãy nhập câu lệnh SQL sau

USE username_test;

Tiếp theo, tạo một bảng trong cơ sở dữ liệu username_test có tên là sản phẩm. Để thực hiện việc này, hãy chạy câu lệnh SQL sau

CREATE TABLE products [prod_id INT NOT NULL AUTO_INCREMENT, prod_name VARCHAR[20] NOT NULL, prod_cost FLOAT NOT NULL DEFAULT 0.0, prod_price FLOAT NOT NULL DEFAULT 0.0, PRIMARY KEY[prod_id]];

Câu lệnh SQL sau đây thêm một số dữ liệu mẫu vào bảng sản phẩm

INSERT INTO products [prod_name, prod_cost, prod_price] VALUES ['Basic Widget',5.95,8.35],['Micro Widget',0.95,1.35],['Mega Widget',99.95,140.00];
Tạo chức năng được lưu trữ

Bây giờ chúng ta đã có một cơ sở dữ liệu và một bảng để làm việc, chúng ta đã sẵn sàng để tạo một hàm được lưu trữ. Hãy tạo một hàm có tên calcProfit. Hàm này nhận hai tham số đầu vào. chi phí và giá cả của một cái gì đó. Nó tính toán lợi nhuận bằng cách lấy giá trừ đi chi phí, rồi trả về giá trị cho biểu thức gọi

Để tạo chức năng được lưu trữ này, hãy chạy các câu lệnh MySQL sau

DELIMITER $$
CREATE FUNCTION calcProfit[cost FLOAT, price FLOAT] RETURNS DECIMAL[9,2]
BEGIN
  DECLARE profit DECIMAL[9,2];
  SET profit = price-cost;
  RETURN profit;
END$$
DELIMITER ;

Lệnh DELIMITER ở đầu các câu lệnh này ngăn MySQL xử lý định nghĩa hàm quá sớm. Lệnh DELIMITER ở cuối các câu lệnh này sẽ đưa quá trình xử lý trở lại bình thường

Sử dụng chức năng được lưu trữ

Bây giờ bạn có thể thực thi chức năng được lưu trữ trong truy vấn cơ sở dữ liệu. Câu lệnh SQL sau minh họa cách thực hiện việc này

SELECT *, calcProfit[prod_cost,prod_price] AS profit FROM products;

Câu lệnh SQL này trả về các kết quả sau

+---------+--------------+-----------+------------+--------+
| prod_id | prod_name    | prod_cost | prod_price | profit |
+---------+--------------+-----------+------------+--------+
|       1 | Basic Widget |      5.95 |       8.35 |   2.40 |
|       2 | Micro Widget |      0.95 |       1.35 |   0.40 |
|       3 | Mega Widget  |     99.95 |        140 |  40.05 |
+---------+--------------+-----------+------------+--------+

Như bạn có thể thấy, hàm calcProfit tự động tính lợi nhuận [giá trừ chi phí] cho mỗi sản phẩm trong bảng

thủ tục lưu trữ

Các thủ tục được lưu trữ đôi khi bị nhầm lẫn với các chức năng được lưu trữ, nhưng chúng khác nhau ở một số điểm quan trọng. Ví dụ, các thủ tục được lưu trữ phải được gọi bằng câu lệnh CALL, trong khi các hàm được lưu trữ có thể được sử dụng trực tiếp trong các biểu thức SQL. Bạn có thể xác định và chạy các thủ tục lưu sẵn trên bất kỳ máy chủ A2 Hosting nào sử dụng MySQL

Các câu lệnh MySQL sau đây trình bày cách tạo một thủ tục lưu trữ rất cơ bản có tên là thủ tụcTest. Quy trình này thực hiện một tra cứu đơn giản trên bảng sản phẩm mà chúng tôi đã sử dụng trong ví dụ về hàm được lưu trữ ở trên. Mặc dù thủ tục này không được sử dụng nhiều trong thực tế, nhưng nó thể hiện đúng cú pháp và cấu trúc để khai báo thủ tục lưu sẵn

DELIMITER $$
CREATE PROCEDURE procedureTest[]
BEGIN
  SELECT prod_name FROM products;
END$$
DELIMITER ;

Để thực thi thủ tục được lưu trữ, hãy sử dụng câu lệnh MySQL sau

________số 8

Nếu bạn đang sử dụng phpMyAdmin, hãy nhập câu lệnh MySQL trước đó mà không có tùy chọn \G ở cuối

Thêm thông tin

Để biết thêm thông tin về các thủ tục và chức năng được lưu trữ trong MySQL, vui lòng truy cập http. // nhà phát triển. mysql. com/doc/refman/5. 0/vi/tạo thủ tục. html

Bạn đã tạo một hàm có tên là hello nhận một tham số. Tham số bị bỏ qua và trả về một

USE username_test;
7 chứa giá trị 'foobar'. Bạn đã tạo một bảng tên là yar và thêm ba hàng vào đó. Câu lệnh select chạy hàm
USE username_test;
8 cho mỗi hàng được trả về theo năm

Hàm là một khối mã có tổ chức, có thể sử dụng lại được dùng để thực hiện một hành động đơn lẻ có liên quan. Các chức năng cung cấp tính mô-đun tốt hơn cho ứng dụng của bạn và mức độ tái sử dụng mã cao

MySQL cung cấp một bộ hàm dựng sẵn thực hiện các tác vụ cụ thể, ví dụ hàm CURDATE[] trả về ngày hiện tại

Bạn có thể tạo một hàm được lưu trữ bằng cách sử dụng câu lệnh CREATE FUNCTION

cú pháp

Sau đây là cú pháp câu lệnh CREATE FUNCTION -

CREATE FUNCTION function_Name[input_arguments] RETURNS output_parameter

Trong đó, function_name là tên hàm bạn cần tạo, input_arguments là giá trị đầu vào của hàm và output_parameter là giá trị trả về của hàm

ví dụ 1

Giả sử chúng ta đã tạo một bảng có tên Emp trong cơ sở dữ liệu bằng cách sử dụng câu lệnh CREATE như hình dưới đây -

USE username_test;
0

Và chúng tôi đã chèn ba bản ghi vào bảng Emp dưới dạng -

USE username_test;
1

Truy vấn sau tạo một hàm có tên getDob[] chấp nhận tên của nhân viên, truy xuất và trả về giá trị của cột DOB

USE username_test;
2

Nếu bạn gọi hàm, bạn có thể nhận được ngày sinh của một nhân viên như hình bên dưới -

USE username_test;
3

ví dụ 2

Giả sử chúng ta đã tạo một bảng khác như hình bên dưới -

USE username_test;
4

Truy vấn sau tạo một hàm có tên tbl_Update −

USE username_test;
5

Bạn có thể gọi hàm đã tạo ở trên như hình bên dưới -

USE username_test;
6

Nếu bạn lấy các bản ghi của bảng student bằng cách sử dụng câu lệnh select, bạn có thể quan sát bản ghi đã sửa đổi -

Tạo trong MySQL là gì?

Câu lệnh CREATE TABLE của MySQL. Câu lệnh CREATE TABLE được dùng để tạo bảng mới trong cơ sở dữ liệu .

Chức năng của tạo là gì?

Sử dụng câu lệnh CREATE FUNCTION để tạo một hàm được lưu trữ độc lập hoặc một đặc tả cuộc gọi . Hàm được lưu trữ [còn được gọi là hàm người dùng hoặc hàm do người dùng định nghĩa] là một tập hợp các câu lệnh PL/SQL mà bạn có thể gọi theo tên.

Các chức năng trong MySQL là gì?

Các chức năng nâng cao của MySQL

Làm cách nào để tạo một biến trong MySQL?

Một cách để đặt biến do người dùng xác định là phát hành câu lệnh SET . ĐẶT @var_name = expr [, @var_name = expr]. Đối với SET , hoặc = hoặc. = có thể được sử dụng làm toán tử gán.

Chủ Đề