SQL中表的类型
在SQL里,基本表的关键字是TABLE,是一张二维表,存放数据集的表。视图的关键字是VIEW,视图可以理解为虚拟表,里边是不存放数据的,只是存放一条查询语句,查询视图时显示的数据都是从基本表中根据条件筛选出来的结果。 其具体定义如下:(1)所谓基本表,是这样的一种表,它本身是实际存在的,每个表在存储中可用一个存储文件来表示(一个基本表就是一个关系),它不是由其他表导出的表。
(2)视图是数据库中的虚拟表,由一个或几个基本表导出,用于让用户变换角度来操作基本表。数据库中只保存视图的定义,视图中不存放对应的数据。 (3)导出表: 在基本表的基础上通过定义视图而生成的表,称为导出表。导出表是虚表,其本身不存储于数据库中,数据库仅在数据字典中存储其定义。
视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
sql中declare是声明的意思,就是声明变量的,这个一般是用在函数和存储过程中的。比如说,这个存储过程是,只要你把学号输入进来,就能查询这个学生的班级。那么在这个存储过程里面, 学号就是参数。你给什么学号, 它就返回给你相应的班级。又或者你也可以做成, 只要你输入学号, 这个存储过程就会将这个学生删除。
mysql存储过程中,定义变量有两种方式:
1.使用set或select直接赋值,变量名以 @ 开头.
例如:set @var=1;
可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量。
2.以 DECLARE 关键字声明的变量,只能在存储过程中使用,称为存储过程变量,例如:
DECLARE var1 ?INT DEFAULT 0; ?
主要用在存储过程中,或者是给存储传参数中。
两者的区别是:
在调用存储过程时,以DECLARE声明的变量都会被初始化为 NULL。而会话变量(即@开头的变量)则不会被再初始化,在一个会话内,只须初始化一次,之后在会话内都是对上一次计算的结果,就相当于在是这个会话内的全局变量。
在存储过程中,使用动态语句,预处理时,动态内容必须赋给一个会话变量。
例:
set @v_sql= sqltext;
PREPARE stmt FROM @v_sql; ?
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
有的时候在查询更新数据库的时候,需要多条语句的查询,因此需要多次修改
declare可以满足多次执行,但数据只修改一次。
declare?@local_variable data_type
DECLARE: 定义变量,变量第一个字母是“@”
声明时需要指定变量的类型,
可以使用set和select对变量进行赋值,
在sql语句中就可以使用@local_variable来调用变量?
声明中可以提供值,否则声明之后所有变量将初始化为NULL。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!