【数据库】期末必知必会-----第十章 数据库编程

第十章 数据库编程

1、MySQL编程基础(语法、系统函数等)要求了解,出现在单选、判断、多选中

语法:

1)字符串常量用单引号

2)日期用单引号

3)布尔值只有true和false

4)null适用于各类字段,null参与任何值运算都为null

系统函数:

1)CHAR_LENGTH(str):返回str中字符的个数

2)LENGTH(str):返回str的字节长度(数字or字母1字节,汉字3字节)

3)LOWER(str)转小写,UPPER(str)转大写

4)MOD取余

5)CURDATE(),NOW(),LOCALTIME()获取当前日期

2、存储函数、存储过程的概念,写法要掌握

概念:存储函数和存储过程都是事先编译并存储在数据库中的一段SQL语句的集合,直接调用即可

写法:

//存储过程的创建、调用、删除
(1)
DELIMITER @@
CREATE PROCEDURE stu_g_r(IN cno CHAR(4),OUT num INT)
BEGIN
 SELECT count(*) INTO num FROM grade WHERE grade.学号=cno;
END@@
(2)
DELIMITER ;
CALL stu_g_r('0002',@num);
SELECT @num;
(3)
DROP PROCEDURE stu_g_r;

//存储函数的创建、调用、删除
SET GLOBAL log_bin_trust_function_creators = 1; 
(1)
DELIMITER @@
CREATE FUNCTION num_func(cname VARCHAR(50))
RETURNS INT
BEGIN
 DECLARE num INT;
 SELECT COUNT(*) INTO num FROM grade g,curriculum c 
WHERE g.课程编号=c.课程编号 and 课程名称=cname;
 RETURN num;
END @@
(2)
SELECT num_func('C 语言程序设计');
(3)
DROP FUNCTION num_func;

3、游标的概念,语法格式,基本的用法

概念:是一个数据缓冲区,存放SQL的执行结果,可以对我们用SELECT查询出来的结果进行再查询

用法:

1)声明:DECLARE <游标名> CURSOR FOR SELECT 语句;

2)打开:OPEN <游标>

3)提取数据: FETCH <游标名> INTO 变量1;

4)关闭游标:CLOSE 游标名;

例子:

DELIMITER @@
CREATE FUNCTION avg_func(cname VARCHAR(50))
RETURNS DECIMAL
BEGIN
 DECLARE v_avg DECIMAL;
 DECLARE avg_cur CURSOR FOR SELECT avg(分数) FROM grade g,curriculum c 
WHERE g.课程编号=c.课程编号 and 课程名称=cname;
 OPEN avg_cur;
 FETCH avg_cur INTO v_avg;
 CLOSE avg_cur;
 RETURN v_avg;
END @@

猜你喜欢

转载自blog.csdn.net/m0_55858611/article/details/125695796