mysql的变量及数据库表之间的对应关系理解
来源:互联网 发布:网络节点的度 编辑:程序博客网 时间:2024/05/16 14:00
mysql中的变量:
注:变量的具体应用,会在以后的文章中用示例举出。
·变量分为系统变量(以@@开头)以及用户自定义变量。用户自定义变量分为用户会话变量(以@开头)以及局部变量(不以@开头) 。
1、用户自定义变量
·用户会话变量(以@开头)用户会话变量的定义与赋值
一般情况下,用户会话变量的定义与赋值会同时进行。用户会话变量的定义与赋值有两种方法:使用set命令或者使用select语句。
方法一:使用set命令定义用户会话变量,并为其赋值,语法格式如下:
set @user_variable1=expression1 [,@user_variable2= expression2 , …]
用户会话变量的数据类型是根据赋值运算符“=”右边表达式的计算结果自动分配的。也就是说,等号右边的值决定了用户会话变量的数据类型
方法二:使用select语句定义用户会话变量,并为其赋值,语法格式有两种。
第一种语法格式:select @user_variable1:=expression1 [,user_variable2:= expression2 , …]
第二种语法格式:select expression1 into @user_variable1, expression2 into @user_variable2,…
第一种与第二种语法格式的区别在于:第一种语法格式中的select语句会产生结果集,第二种语法格式中的select语句,仅仅用于会话变量的定义及赋值(但不会产生结果集)。
用户会话变量在本次会话期间一直有效,直至关闭服务器连接。·局部变量
declare命令专门用于定义局部变量及对应的数据类型。局部变量必须定义在存储程序中(例如函数、触发器、存储过程以及事件中),并且局部变量的作用范围仅仅局限于存储程序中,脱离存储程序,局部变量没有丝毫意义。
MySQL开发人员经常将频繁使用的业务逻辑封装成存储程序,MySQL的存储程序分为四类:函数、触发器、存储过程以及事件。
数据库表之间对应关系的理解:
1、为每张表定义一个主键
2、增加外键表示一对多关系
外键(Foreign Key):如果表A中的一个字段a对应于表B的主键b,则字段a称为表A的外键,此时存储在表A中字段a的值,要么是NULL,要么是来自于表B主键b的值。
情形一:如果实体间的关系为一对多关系,则需要将“一”端实体的主键放到“多”端实体中,然后作为“多”端实体的外键,通过该外键即可表示实体间的一对多关系。
3、一对一可以看成特殊的一对多关系
4、多对多关系
情形二:如果两个实体间的关系为多对多关系,则需要添加新表表示该多对多关系,然后将该关系涉及到的实体的“主键”分别放入到新表中(作为新表的外键),并将关系自身的属性放入到新表中作为新表的字段。
0 0
- mysql的变量及数据库表之间的对应关系理解
- 简单理解数据库表及和数组之间的关系
- 理解PHP、Apache、Mysql之间对应的功能及角色
- MySQL数据库-表之间的关系(精华)
- 数据库:多表之间的设计以及对应类之间的关系,与数据库的操作。
- 两个变量之间的关系
- 机房之窗体和表之间的对应关系
- 各大调音阶之间的对应关系
- 几个秒之间的对应关系
- 注释与xml之间的对应关系
- 理解Ionic、Angular、Cordova及插件之间的关系
- Servlet、JSP及Web容器之间关系的理解
- 数据库表与表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- magento数据库表之间的关系
- MySQL中的连接、实例、会话、数据库、线程之间的关系
- HDU3713Double Maze(BFS)
- 【计算机系统结构】 流水线技术-向量
- 2017小虎软考QQ群(群号:139240819)--跟着小虎玩着去软考
- myeclipse、tomcat、maven整合
- 【SSH进阶之路】Hibernate系列——总结篇(九)
- mysql的变量及数据库表之间的对应关系理解
- 通过ViewObject类来构建视图
- 2136: ht的生日party(递推)@
- HashMap数据结构
- 不用临时变量交换两数的值
- Java文件读写
- matlab中dir函数的作用
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- java中遍历JSON