집 >데이터 베이스 >MySQL 튜토리얼 >mysql에서 함수를 만드는 방법
mysql에서는 "CREATE FUNCTION func_name ([func_parameter])" 구문을 통해 함수를 생성할 수 있습니다. 여기서 "CREATE FUNCTION"은 함수를 생성하는 데 사용되는 키워드입니다.
권장: "mysql 비디오 튜토리얼"
MySQL 데이터베이스에서 함수 만들기
Syntax
CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的 RETURNS type [ characteristic ...] routine_body
CREATE FUNCTION 함수를 만드는 데 사용되는 키워드
func_name은 함수 이름을 나타냅니다.
func_parameters는 함수의 매개변수 목록입니다. 매개변수 목록의 형식은 다음과 같습니다. [IN|OUT|INOUT] param_name type
IN: 입력 매개변수를 나타냅니다.
OUT: 출력 매개변수를 나타냅니다. 입력 출력일 수도 있습니다.
param_name: 매개변수의 이름을 나타냅니다.
type: MySQL 데이터베이스의 모든 유형일 수 있는 매개변수의 유형을 나타냅니다.
RETURNS 유형: 명령문은 매개변수의 유형을 나타냅니다.
특성: 저장 함수의 특성을 지정하며 값은 저장 프로시저의 특성과 동일합니다. 자세한 내용은 MySQL 저장 프로시저 사용법을 참조하세요. 데이터베이스, 샘플 테이블 및 샘플 데이터 스크립트 삽입:
create database hr; use hr; create table employees ( employee_id int(11) primary key not null auto_increment, employee_name varchar(50) not null, employee_sex varchar(10) default '男', hire_date datetime not null default current_timestamp, employee_mgr int(11), employee_salary float default 3000, department_id int(11) ); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('David Tian','男',10,7500,1); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Black Xie','男',10,6600,1); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Moses Wang','男',10,4300,1); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Rena Ruan','女',10,5300,1); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Sunshine Ma','女',10,6500,2); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Scott Gao','男',10,9500,2); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Warren Si','男',10,7800,2); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Kaishen Yang','男',10,9500,3); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Simon Song','男',10,5500,3); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Brown Guan','男',10,5000,3); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Eleven Chen','女',10,3500,2); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Cherry Zhou','女',10,5500,4); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Klause He','男',10,4500,5); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Maven Ma','男',10,4500,6); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Stephani Wang','女',10,5500,7); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Jerry Guo','男',10,8500,1); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Gerardo Garza','男',10,25000,8); insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Derek Wu','男',10,5500,5); select * from employees;
Create 함수 - ID 직원 이름 및 직원 급여를 기반으로 가져오기
DELIMITER // CREATE FUNCTION GetEmployeeInformationByID(id INT) RETURNS VARCHAR(300) BEGIN RETURN(SELECT CONCAT('employee name:',employee_name,'---','salary: ',employee_salary) FROM employees WHERE employee_id=id); END// DELIMITER ;
Call 함수
MySQL에서 이 함수는 MySQL 내부 함수와 동일한 방식으로 사용됩니다.
위 내용은 mysql에서 함수를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!