mysql中判断一列是否存在,并删除
drop procedure if exists schema_change;
create procedure schema_change()
begin
if exists (select * from information_schema.columns where column_name = 'sorttype' and table_name='channelsorttype' ) then
alter table channelsorttype drop column sorttype;
end if;
end ;
call schema_change();
drop procedure if exists schema_change;
mysql数据库备份
1.打开DOS窗口
2.键入 mysqldump --user root --password=123456 mysql > d:\mysql.sql
--user 表示要你的mysql登陆用户名 超级用户默认为root
--password=123456
就是密码了,你的是多少就把123456换成你的。
mysql 是数据库名,你要导出的是什么,就换成什么名。
> 是重定向符 ,把数据库的内容以sql代码的形式重定向到d:\mysql.sql文件。
知道了导出,肯定要导入:
导入方法:
1.打开DOS窗口。
2.键入mysql -uroot -p123456 mysql < d:\mysql.sql
就是上面的相反过程。只是形式有点差别。
很简单吧。
触发器的创建必须依赖表结构,而存储过程的创建对表结构没有依赖(不管存储过程执行在先还是表结构执行在先,调用时,两者已经执行完成),但调用时会依赖
游标
create procedure usecursor()
begin
declare temp varchar(20) default '';
declare cur cursor for select name from temp.name;
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET temp = null;
open cur;
fetch cur into temp; //游标向下走一步
while (temp is not null ) do
//中间是操作的所有步骤
fetch cur into temp; //游标继续向下走
end while;
close cur;