博客
关于我
造数存储过程
阅读量:783 次
发布时间:2019-03-25

本文共 1317 字,大约阅读时间需要 4 分钟。

下面将展示如何为测试数据库创建一个表并定义一个加载存储过程的详细步骤。

###.CREATE TABLE语句 ```sqlcreate table test_load(a int,b char(80)) engine=innodb;

说明:

  • 这行语句创建了一个名为test_load的表,其中包含两个字段:
    • a(类型为int),用于存储整数值。
    • b(类型为char(80)),用于存储最大长度为80个字符的文本数据,通常用于字符串或短文本字段。
  • 存储引擎设置为InnoDB,这是一个常用的高性能存储引擎。

###设置分隔符

delimiter ;

说明:

  • 这行语句将默认的分隔符从\\更改为;,使得SQL语句更容易阅读和执行。
  • 在存储程序或函数中,通常会暂时设置为;以便明确区分不同语句的结尾。

###创建存储程序p_load

create procedure p_load(count int unsigned)

说明:

  • 这行语句定义了一个名为p_load的存储程序,接受一个无符号整数参数count
  • 存储程序用于批量加载数据到数据库表中。

###存储程序实现逻辑

begin      declare s int unsigned default 1;      declare c char(80) default repeat('a',80);

说明:

  • declare s int unsigned default 1;:声明变量s,类型为无符号整数,默认值为1。这个变量用于计数循环次数。
  • declare c char(80) default repeat('a',80);:声明变量c,类型为固定长度的字符,字符长度为80,默认值为重复字符'a' 80次形成的字符串。这个字符串会被重复插入到表中。

###执行循环

while s <= count do      insert into test_load select null,c;      set s = s+1;  end while;

说明:

  • while s <= count do:开始一个while循环,继续执行循环体内的语句,直到s的值大于count
  • insert into test_load select null,c;:向表test_load中插入一条新记录,null用于a字段(整数字段),c字段插入默认字符串aaaaaaaaaaaa...(共80个字符)。
  • set s = s+1;:将变量s1,表示已经处理了下一个批次。
  • end while;:结束循环。当s超过count时,循环结束。

###提交并结束存储程序

commit;  end;

说明:

  • commit;:提交事务,这一步非常关键,因为存储程序在未提交之前,数据不会被写入数据库。
  • end;:结束存储程序的定义。
  • 提交后,所有已插入的数据已经被写入表中,数据库 transaction 被确认。

###总结

通过以上步骤,我们成功创建了一个测试表test_load和一个存储程序p_load。存储程序能够根据提供的count参数,向表中批量插入符合ab列定义的数据。

转载地址:http://wtduk.baihongyu.com/

你可能感兴趣的文章
Nginx、HAProxy、LVS
查看>>
nginx一些重要配置说明
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx与Tengine安装和使用以及配置健康节点检测
查看>>
Nginx中使用expires指令实现配置浏览器缓存
查看>>
Nginx中使用keepalive实现保持上游长连接实现提高吞吐量示例与测试
查看>>
Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例
查看>>
nginx中配置root和alias的区别
查看>>
nginx主要流程(未完成)
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx从入门到精通
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理解决跨域问题(导致图片只能预览不能下载)
查看>>
Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH
查看>>
Nginx代理配置详解
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>