存储过程在mysql中是新面孔,最近一直在用
存储过程,但忘记了一个很重要的问题,如何得到存储过程的
列表。 可能是对mysql太有信心了,一开始我没考虑过这个问题,直到我建立了55个存储过程后,才意识到问题的严重性,我无法用类似show tables获得表的列表一样用show PROCEDURES 来获得存储过程的列表。我试了show stored routines 、show storedroutines 、show routines等等,结果都在意料之中,得不到。 接着我想
到了information_schema库,在以前,select * from information_schema.tables是比show tables还要方便得到表信息的办法,于是我去了information_schema库中转了一圈,仍然一无所获。而完全没有去想一直用来保存用户和地址信息的mysql库。 就在今天为了建立可以调用存储过程的用户时,我访问了mysql库,在刚进的时候察觉了库中多了几个表,也没在意,在要离开的时候才注意到里面有一个表的名字叫proc,似乎是建立存储过程时使用的PROCEDURES前4位字母,于是select了一下,结果掘到了宝。存储过程的相关数据好好的保存在里面。看来以后也同样不能小看mysql库了。 想要得到你的存储过程列表,那么执行下面的语句吧。 select name,db from mysql.procps:还得知了存储过程的名称长度为64个字节,多于64则自动删除。可以使用中文-_-!!!用mysqldump命令,该命令在mysql的bin安装目录下.打开cmd
,cd到mysql的bin目录.然后执行:
mysqldump
-uroot
-p密码
数据库>存储位置,
如"mysqldump
-root
-p123456
mydatabase
>d:\mysql.sql"
注意p和密码之间不能有空格..
如何恢复?进入mysql命令提示(mysql
-u
root
-p123456),选择数据库(use
mydatabase)还原数据库(source
d:\mysql.sql),完成.可以用(show
tables)查看是否和你导出的一致.
评论列表(0条)