博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】MySQL 的存储过程是一个可以完成特定的功能的 SQL 集合,本文在使用 Navicate Premium 的提前下给出一个非常简单的使用 MySQL 的存储过程来创建一个数据库的表的实例。
请直接看源代码:
DELIMITER //
DROP PROCEDURE IF EXISTS create_table;
CREATE PROCEDURE create_table(IN prefixed VARCHAR(100))
BEGIN
DECLARE tableName VARCHAR(255);
DECLARE tableHeader VARCHAR(255);
DECLARE tableBody VARCHAR(1000);
DECLARE tableFooter VARCHAR(255);
DECLARE createTableStr VARCHAR(1000);
DECLARE dropTableStr VARCHAR(255);
SET tableHeader = 'CREATE TABLE ';
SET tableName = CONCAT(prefixed,'_','test');
SET tableBody = '(id int auto_increment primary key,name varchar(20),age tinyint unsigned,sex bool)';
SET tableFooter = 'ENGINE=InnoDB DEFAULT CHARSET=utf8;';
SET dropTableStr = CONCAT('DROP TABLE IF EXISTS ',tableName);
SET createTableStr = CONCAT(tableHeader,'`',tableName,'`',tableBody,tableFooter);
SELECT createTableStr;
SELECT dropTableStr INTO @dropTableStr;
SELECT createTableStr INTO @createTableStr;
BEGIN
PREPARE stepDropExistTable FROM @dropTableStr;
EXECUTE stepDropExistTable;
PREPARE stepCreateTable FROM @createTableStr;
EXECUTE stepCreateTable;
END;
END //
CALL create_table('prefixed');
这样就是直接在 MySQL 数据库中创建了一个表名为 prefixed_test 的新表,并且输出建表语句。(备注一下:Navicate Premium 是个非常好的 MySQL 可视化管理工具,一定要用它!)
版权归 马富天PHP博客 所有
本文链接地址:http://www.mafutian.net/243.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0
评论审核未开启 |