【D1n910】(24/42) C++语言程序设计 - MySQL数据库学习笔记 3.1 MySQL编程基础
正常操作,正常分析,大家好,我是D1N910,这是我观看【MySQL数据库】C++语言程序设计 - MySQL数据库的学习笔记。

之前的笔记内容请看我的专栏。这里便不再累述了。

Unit13 MySQL编程基础(下面是我们的准备工作)
1.1 用户会话变量
用户会话变量
》会话期间一直有效,但其它的客户机不能访问
》一般情况下,用户会话变量的定义与赋值会同时进行
>方法一:使用set命令定义用户会话变量,并为其赋值
set @user_variable1=expre1 [, @user_variable2=expre2, ...];
>方法二:使用select语句定义用户会话变量,并为其赋值
select @user_variable1:=expre1[,@user_variable2:=expre2,...]
或
select expre1, expre2,... into @user_variable1, @user_variable2,...
1) set
MySQL 的变量是软类型的,不用定义变量类型,类似 JavaScript。 set 来定义属性。
@来定义用户会话变量,意思就是只有本次连接会话才能访问这个变量,再次开回话或者别人另开回话访问都没用。
select 接变量名可以访问变量。
【结果】
测试 exit 退出 mysql 后重新访问变量,发现现在是不能访问的
2) select()
2.1 既能创建又能赋值还能产生结果集
select @user_name:='李四'; --产生结果集
2.2 创建赋值,不产生结果集
select 20 into @age1;
3) 用户会话变量和SQL语句
3.1、不产生结果集
3.2、产生结果集
3.3、产生结果集-简化版
3.4、selct -最简化版,也是常用版
1.2 局部变量(强类型)
>语法:
declare 变量名 数据类型;
局部变量必须定义在存储程序中,且作用范围也只在存储程序中。
局部变量主要用于下面3种场合:
局部变量定义在存储程序的begin-end语句块中
局部变量作为存储过程或函数的参数使用(作为形参)
局部变量用于存储程序的SQL语句中
02、begin-end语句块
MySQL没有大括号(花括号),在这里都是用 begin 和 end。
begin-end语句块格式如下,其中开始标签名称与结束标签名称必须相同。(特殊情况下需要,开始标签必须,结束标签可以省略)
注意,书写顺序都要按照上面的顺序。
在MySQL中,单独使用begin-end语句块没有任何意义,将其封装到存储过程、函数、触发器以及事件等存储程序内部才有意义。
03 重置命令结束标记 delimiter
这是我们之前有用到过的:
delimiter
n. 分隔符;定界符,分隔符
- 来自百度翻译
begin-end语句块中通常存在多条MySQL表达式,每条MySQL表达式使用";"作为结束标记。由于begin-end语句块中的多条MySQL表达式密不可分,为了避免这些MySQL表达式被拆开,需要重置MySQL客户机的命令结束标记(delimiter)。举例如下
上面我们可以看到 $$ 有和 一样的作用。常用的也是 $$ 来代替。
这个只对当前会话有效。
注意用完后要用下面的语句改回去

恭喜我们,掌握了数据库表的MySQL编程基础
我们的学习进度为 24/42!
未完待续!