使用 MySQL 的存储过程创建数据表的实例

学习笔记 马富天 2017-01-04 10:36:08 83 0

【摘要】MySQL 的存储过程是一个可以完成特定的功能的 SQL 集合,本文在使用 Navicate Premium 的提前下给出一个非常简单的使用 MySQL 的存储过程来创建一个数据库的表的实例。

请直接看源代码:

  1. DELIMITER //
  2. 	DROP PROCEDURE IF EXISTS create_table;
  3. 	CREATE PROCEDURE create_table(IN prefixed VARCHAR(100)) 
  4. 	BEGIN
  5. 		DECLARE tableName VARCHAR(255);
  6. 		DECLARE tableHeader VARCHAR(255);
  7. 		DECLARE tableBody VARCHAR(1000);
  8. 		DECLARE tableFooter VARCHAR(255);
  9. 		DECLARE createTableStr VARCHAR(1000);
  10. 		DECLARE dropTableStr VARCHAR(255);
  11. 		SET tableHeader = 'CREATE TABLE ';
  12. 		SET tableName = CONCAT(prefixed,'_','test');
  13. 		SET tableBody = '(id int auto_increment primary key,name varchar(20),age tinyint unsigned,sex bool)';
  14. 		SET tableFooter = 'ENGINE=InnoDB DEFAULT CHARSET=utf8;';
  15. 		SET dropTableStr = CONCAT('DROP TABLE IF EXISTS ',tableName);
  16. 		SET createTableStr = CONCAT(tableHeader,'`',tableName,'`',tableBody,tableFooter);
  17. 		
  18. 		SELECT createTableStr;
  19. 		
  20. 		SELECT dropTableStr INTO @dropTableStr;
  21. 		SELECT createTableStr INTO @createTableStr;
  22. 		BEGIN
  23. 			PREPARE stepDropExistTable FROM @dropTableStr;
  24. 			EXECUTE stepDropExistTable;
  25. 			PREPARE stepCreateTable FROM @createTableStr;
  26. 			EXECUTE stepCreateTable;
  27. 		END;
  28. END //
  29. CALL create_table('prefixed');
请输入图片名称

这样就是直接在 MySQL 数据库中创建了一个表名为 prefixed_test 的新表,并且输出建表语句。(备注一下:Navicate Premium 是个非常好的 MySQL 可视化管理工具,一定要用它!)

版权归 马富天个人博客 所有

本文标题:《使用 MySQL 的存储过程创建数据表的实例》

本文链接地址:http://www.mafutian.com/243.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 解决 MySQL出现问题:2006 MySQL server has gone away 》 下一篇《 IOS 9 或 IOS 10 屏蔽系统自动更新提示方法 》

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码

TOP10

  • 浏览最多
  • 评论最多