您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

《MySQL必知必会》读书笔记_4_MySQL

2024/2/18 2:05:56发布16次查看
ps:一个实际的存储过程案例
create definer=`root`@`localhost` procedure `sp_delete_article_by_id`(in `id` int)begin#routine body goes here...declare temp int;set @aid = id;select count(*) from gk_reply_article where a_id = @aid into temp;if(temp 0) thendelete from gk_reply_article where a_id = @aid;end if;select count(*) from gk_like_article where a_id = @aid into temp;if(temp 0) thendelete from gk_like_article where a_id = @aid;end if;select count(*) from gk_article where id = @aid into temp;if(temp 0) thendelete from gk_article where id = @aid;end if;end
游标是一个存储在mysql服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其其中的数据。
create procedure processorders()begindeclare o int;declare ordernumbers cursor #定义和命名游标forselect order_num from orders;open ordernumbers; #打开游标fetch ordernumbers into o;close ordernumbers; #关闭游标end
隐含关闭:如果你不明确关闭游标,mysql将会在达到end语句时自动关闭它。
触发器唯一的命名
触发器关联的表
触发器一响应的活动:update、insert或update
触发器何时执行
只有表才支持触发器,视图不支持
事务处理,可以用来维护数据库的完整性,它保证成批的mysql操作要么完全执行,要么完全不执行。
mysql是用一系列的默认设置预先配置的,这些设置通常在开始的时候很好用。但是一段时间后你可能需要调整内存、缓冲区大小等。(为查看当前设置,可使用show variables;和show status;)
如果遇到显著的性能不良,可使用show processlist显示所有活动进程,还可以用kill命令终结某个特定的进程。
mysqldump数据备份:
1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.3.导出一个数据库结构mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table  
假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到d:/bak/的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:
mysqldump -u backup -p 123456 -h 192.168.1.2 backup_test > d:/bak/bakcup.sql在这段命令中:mysqldump 是myqldump的程序名了;-u 是数据库的用户名,后面紧跟着用户名backup;-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;-h 是数据库的地址,如果没有此项表明是备份本地的数据库;backup_test 要备份的数据库名称;
> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。
或者使用mysqlhotcopy。
backuo table 或 select into outfile转储所有数据到某个外部文件。
为保证所有数据都被写到磁盘,可能需要在进行备份前使用flush tables语句。
#维护数据库,显示数据库表状态
analyze table gk_article
#发现和修复表问题
check table gk_article
#显示所有可用的字符集以及每个字符集的描述和默认校对。
show character set
#显示所有可用校对
show collation
默认端口:3306
终结
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product