1、表架构,本来放DDL上来的,但是一直提交失败
创新互联建站是专业的寿阳网站建设公司,寿阳接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行寿阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
`tbl_person`
`id` int(10)
`trueName` varchar(32)
`sex` int(1)
PRIMARY KEY (`id`)
2、函数,输入1对应男 2对应女;返回数量
CREATE FUNCTION `countPerson`(`i_sex` int(1))
RETURNS int(10)
READS SQL DATA
BEGIN
DECLARE o_result INT(10);
SELECT IFNULL(COUNT(*),0) INTO o_result FROM tbl_person WHERE sex = i_sex;
RETURN o_result;
END;
DELIMITER $$
CREATE FUNCTION `ChkInsert`(in_pk int) returns int
begin
declare _count int;
declare _returnValue int;
set _count = 0;
select count(列1) into _count from 你的表 where 列1 = in_pk;
if _count 0 then
set _returnValue = 2;
else
insert into 你的表 ( 列1 ) values ( in_pk );
set _returnValue = 0;
end if;
return _returnValue;
end $$
mysql CREATE FUNCTION HelloWorld4()
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec) ...展开mysql CREATE FUNCTION HelloWorld4()
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec)
在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,
函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。
在MySQL——函数的使用方法与MySQL内部函数的使用方法一样。
mysql CREATE FUNCTION HelloWorld4()
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec)
如果你会其它数据库的话, 那么看看那个 SQL 存储过程编写 参考手册 对你会有些帮助。
函数名: 自己取,只要符合标识符规范即可 ,是假设表中的性别字段名为sex,并且字段类型为
字符串,字段值只能是"男" ,"女". 因为有些表中,sex为smallint类型,值1 代表男,
0代表女.
表名: 是你所要操作的表。如学生表,员工表
sql语句 where sex = sex : 第一个sex 是表中的字段名sex ,第二个sex,是从外部传进来的 值。如传 "男" ,当然也可以传 "女",就能得到女生的人数.
create function 函数名(sex varchar(2)) returns smallint
begin
declare peoples int;
select count(*) from 表名 where sex=sex into peoples;
return peoples;
end;