1. 存储过程的变量指什么
存储过程是面向对象的数据库编程语言,与其他面向对象编程语言类似,可声明变量,用变量来存取某一类值,变量在存储过程中占有非常重要的位置。变量声明在MySQL语言的存储过程中,变量有会话变量、存储过程变量两种。两种变量的声明方式不同,作用场景也不尽相同,在实际使用中要根据需要加以选择。
1.变量种类((1)会话变量会话变量也称用户变量,可以在一个客户端会话的任何地方声明,作用域是整个会话,会话断开后,会话变量也就消失。会话变量名以@开头,使用set直接赋值,在一个会话内,会话变量只需初始化一次。
例如,Set@num=1;表示声明了一个名字叫“@num”的会话变量,其初始值为1。
(2)存储过程变量存储过程变量以DECLARE为关键字声明的变量,只能在存储过程中使用,其命名不需要以@开头。以DECLARE声明的变量都会被初始化为NULL,存储过程变量存在于数据库服务器上。2.变量定义存储过程变量定义格式:DECLARE+变量名+数据类型+[DEFAULTVALUE]其中,((1)DECLARE为声明存储过程变量的关键字;
(2)变量名可以任意,但尽可能达到能表意的目的;
(3)数据类型为MySQL的数据类型,如int
2. 变量的存储类型是什么
量有4种存储类型,分别是auto(自动型)、static(静态型)、register(寄存器型)和extern(外部型)。在定义或说明一个变量时可以加上存储类型关键字,以限定其存储类别。
存储类型决定了系统将在哪一个数据存储区为变量分配存储空间。
3. 请教变量数据在内存中的存储方式,比如int a=2,那么在内存中是怎么存储的呢
额 你理解错了 。 跟本就不存在a的ASCII码值。
这样看:定义了一个变量,给它取个名字叫a,这个名字是给你程序员看的,计算机跟本不看这个a,a对计算机来说只是一个标识,它标识着在内存中所占用的一个大小为4B的内存空间,并且!这4B的空间存放一个整数,其值为2. 而在存储的时候是这样存的
由于内存的最小单位是字节,也就是1B是最小的单位,而一个int类型的数据在32的系统中要占用32位大小, 换算一个 8位=1字节 即8bit=1B 那么32位=4字节。 这个2转换成二进制数是10 ,但计算机要求用32位的数来存放这个2 ,咋办? 补0呗。在哪补? 肯定不能在后边补啊,那就变成别的数了—— 那,那就在前补。
所以是00000000 00000000 00000000 00000010
以上便是2这个数在计算机内存中的形式, 每8位一组分成4组刚好是4B大小,所以内存中就有连着的4个内存单元 来存放这个数值2. 而这一内存单元我们把它叫做a, 计算机也正是通过这个名字来标识这个数。
综上,总结一下,a这个字母是给程序员看的, 计算机不认识a这字母,a在计算机中仅仅是转换为一个计算机用于标识这个数值2的其它的什么东西。 具体是什么东西你不必要了解,其实我也不知道。而这个2在内存中存放的形式是占用4个内存单元的空间。
楼主想更深入了解这方面,建议把C语言学一遍后学学汇编语言就很清楚了