mysql 导入导出数据库以及函数、存储过程的介绍

mysql 导入导出数据库以及函数、存储过程的介绍,第1张

mysql常用导出数据命令:

1.mysql导出整个数据库

mysqldump

-hhostname

-uusername

-ppassword

databasename

>

backupfile.sql

mysqldump

-hlocalhost

-uroot

hqgr>

hqgr.sql

(如果root用户没用密码可以不写-p,当然导出的sql文件你可以制定一个路径,未指定则存放在mysql的bin目录下)

2.mysql导出数据库一个表

mysqldump

-hhostname

-uusername

-ppassword

database

tablename>

导出的文件名

mysqldump

-hlocalhost

-uroot

hqgr

t_ug_user>

user.sql

3.mysql导出一个数据库结构

 mysqldump

-hhostname

-uusername

-ppassword

-d

--add-drop-table

databasename>d:hqgrstructure.sql

 -d

没有数据

--add-drop-table

在每个create语句之前增加一个drop

table

4.如果需要导出mysql里面的函数或者存储过程

mysqldump

-hhostname

-uusername

-ppassword

-ntd

-R

databasename

>

backupflie.sql

mysqldump

-hlocalhost

-uroot

-ntd

-R

hqgr

>

hqgr.sql

其中的

-ntd

是表示导出存储过程;-R是表示导出函数

mysql常用导入数据的命令:

1.mysql命令

mysql

-hhostname

-uusername

-

ppassword

databasename

<

backupfile.sql

2.source命令

mysql>source

backupfile.sql

1、存储过程定义:

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

2、特点:

封装,复用 : 可以把某一业务SQL封装在存储过程中,需要用到 的时候直接调用即可。

可以接收参数,也可以返回数据 :再存储过程中,可以传递参数,也可以接收返回 值。

减少网络交互,效率提升 : 如果涉及到多条SQL,每执行一次都是一次网络传 输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。

3、基本语法

(1)创建:

(2)调用:

(3)查看:

(4)删除

注意: 在命令行中,执行创建存储过程的SQL时,需要通过关键字 delimiter 指定SQL语句的 结束符。

从存储过程返回表类型的值也有二种:1.存储过程使用浮标参数,即同时指定CURSOR VARYING OUTPUT项.调用者可以使用while及fetch循环遍历该浮标.2.直接将存储过程返回的结果集插入到表中,即使用insert into 表名 exec 存储过程.此种方式中注意存储过程返回的结果集列与insert的列要完全对应,可以在insert中指定列名来保证对应关系.------------------------------------------------------------------------------测试:----------------------------------------------------------------------------------建立测试用的临时表create table #tmp (colx int,coly int)insert into #tmp values(1,2)insert into #tmp values(2,3)insert into #tmp values(3,4)select * from #tmpGO----创建返回游标的存储过程create proc sp_c @cur CURSOR VARYING OUTPUTASbeginset @cur = CURSOR for select colx from #tmpopen @cur /*该过程返回游标,该游标为colx列的查询结果*/endGO----创建返回表的存储过程create proc sp_dasselect coly from #tmp /*该过程返回coly列的查询结果*/go----创建用于调用以上二个存储过程的存储过程create proc sp_easbegindeclare @x intdeclare @cur cursor----接收游标,并遍历游标EXEC sp_c @cur OUTPUTfetch next from @cur into @xwhile (@@FETCH_STATUS = 0)beginprint @xfetch next from @cur into @xENDclose @curdeallocate @cur----将存储过程返回的列值再重新插入源表中insert into #tmp(coly) EXEC sp_dselect * from #tmpendGOEXEC sp_edrop proc sp_cdrop proc sp_d


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6150191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存