某某茶叶有限公司欢迎您!
金沙棋牌在线 > 必赢棋牌官网 > Mysql--流程序调节制

Mysql--流程序调节制

时间:2019-12-29 06:38

数据类型的分类
数值型(整型、小数)、字符型、日期型,小数分为定点数和浮点数。
一、整型
图片 1
注:①如果不设置无符号,默认是有符号的,如果设置为无符号的,需要添加unsigned关键字。
②如果插入的数值超过整型的范围,报out of range 异常,并插入临界值。
③如果不设置长度,会有默认长度。
④长度代表显示的最大宽度,如果不够用0在左侧补充,但必须搭配zerofill 使用

存储引擎可以理解为一种数据存取和处理方式.Mysql数据库自带多种存储引擎,每种存储引擎都拥有各自的特性

mysql(5.5)所支持的日期时间类型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。
五种类型表示如下:

图片 2
一、分支结构
1.If函数
语法:if(条件,值1,值2)
功能:实现双分支
应用范围:begin – 中 或者 外面
2.case结构
语法一:结构switch结构
case 变量或者表达式
when 值1 then 语句1;
when 值2 then 语句2;

else 语法n;
end case;
语法二:case
when 条件1 then 语句1;
when 条件2 then 语句2;

else 语句n;
end case;
应用在begin – end 中或者外面
3.if结构
语法:
if 条件1 then 语句1;
elseif 条件2 then 语句2;

else 语句n;
end if;
功能:类似于多重if
【只能应用在begin end中】
例1:创建函数,传入成绩,返回学生成绩等级
图片 3
图片 4
二、循环结构
图片 5
1.while
语法:【标签:】while 循环条件 do
循环体;
End while【标签】;
2.loop
语法:【标签:】loop
循环体;
End loop 【标签】;
【常用于模拟死循环】【借助标签来结束循环】
3.repeat
语法:【标签:】repeat
循环体;
Until 结束循环的条件
End repeat 【标签:】;
例2 向admin表中批量插入数据【不含循环控制语句】
图片 6
图片 7
例3 向admin表中批量插入数据,插入第6条的时候停止while循环
图片 8
图片 9
例4 只插入偶数次
图片 10
图片 11

插入临界值:
图片 12

MEMORY存储引擎

memory存储引擎的表只拥有一个磁盘文件,用来存储表结构的定义,其拓展名为.frm.memory引擎表的数据存在内存中,当Mysql关闭时,所有数据都会消失.

创建表

Create Table    t_mem1  CREATE TABLE `t_mem1` (
  `id` int(11) DEFAULT NULL
) ENGINE=MEMORY

表结构磁盘文件

图片 13

插入数据并查询

图片 14

重启数据库

sudo /etc/init.d/mysql restart

重新查询数据

图片 15

memory引擎表的数据存于内存中,那么mysql服务端就要为其单独分配内存空间,那么考虑以下两个问题

  1. memory引擎表占用多大的内存空间,或者说被分配了多少空间
  2. memory引擎表占用的内存空间什么时候能够释放
    关于第一个问题,memory引擎表占用的内存空间不能超过系统变量max_heap_table_size 设置的大小,该值默认是16MB.
    如果想自由指定大小,可在会话级别设置该变量.

注意,当数据库重启时,所有表会自动继承全局max_heap_table_size ,即都会变成16MB,不管之前设置的是多少.

关于第二个问题,分配给 memory引擎表的内存空间正常状态下不会回收,只有表被删除时才会回收.

日期时间类型 占用空间 日期时间格式 最小值 最大值 零值表示
YEAR 1bytes YYYY 1901 2155 0000
TIME 3bytes HH:MM:SS -838:59:59 838:59:59 00:00:00
DATE 4bytes YYYY-MM-DD 1000-01-01 9999-12-31 0000-00-00
DATETIME 8bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31
23:59:59 0000-00-00 00:00:00
TIMESTAMP 4bytes YYYY-MM-DDHH:MM:SS 19700101080001 2038
年的某个时刻 00000000000000

注:loop和repeat用法和while类似。

默认长度:
图片 16

CSV存储引擎

CSV存储引擎基于CSV格式文件存储数据

 CREATE TABLE `t_csv1` (
  `id` int(11) NOT NULL,
  `v1` varchar(20) NOT NULL DEFAULT ''
) ENGINE=CSV

插入数据并查询

图片 17

此时磁盘上会有三个对应文件

图片 18

.frm是表的结构定义文件
.csv 是数据文件,保存在表中插入的数据,这个文件可以直接在excel或其他编辑文件中打开.

.csm 是元信息文件,用来保存表的状态和表中保存的数据量.
打开.csv文件,可以看到存储的内容如下

图片 19

下面尝试直接在.csv数据文件中插入数据

图片 20

重启数据库查询一下数据

图片 21

可以看到直接操作.csv文件存储数据也是可行的,但这种方式存在风险.下面我们来插入这样两条数据

图片 22

重启数据库查询一下数据

图片 23

可以看到由于刚才我们插入了一条不合理数据,导致表被破坏,需要修复.下面进行检查和修复.

图片 24

图片 25

数据修复后再来查询数据

图片 26

再来看一下数据文件中的数据

图片 27

check 用法
check语句会会检查每行记录是否合法,一旦发现不合法的行就会抛出错误,用repair进行修复时,一旦发现不合法行,其后面的数据都会丢失,不管这当中是否包括合法行.

当插入值超出有效取值范围时,系统会报错,并将零值插入到数据库中。