`
iihero
  • 浏览: 257674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL存储过程:删除带like条件的表名

阅读更多
delimiter //

CREATE PROCEDURE drop_table_like(IN table_prefix varchar(64), IN username varchar(256))
BEGIN
    DECLARE tname varchar(128) default '';
    DECLARE not_found INT DEFAULT 0;
    DECLARE cur_tnames cursor FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = username and table_name like table_prefix;
    -- concat("'", table_prefix, "%'");
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found = 1;
    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; 
    OPEN cur_tnames;
    WHILE not_found = 0 DO
        FETCH cur_tnames INTO tname;
        IF NOT not_found THEN
            -- select tname;
            set @sql = concat('DROP TABLE ', tname);
            prepare stmt from @sql;
            execute stmt;
            deallocate prepare stmt;
        END IF;
    END WHILE;
    CLOSE cur_tnames;
END
//

mysql> call drop_table_like('taba%', 'foo')//
Query OK, 0 rows affected (0.17 sec)

 要说的是,前边使用concat("'", table_prefix, "%'");

 作为cursor的定义条件,居然不能用。或许mysql不认可这种条件定义。

 

 

0
0
分享到:
评论

相关推荐

    MySql从入门到精通

    - 删除满足条件的数据:`DELETE FROM 表名 WHERE 条件;`,其中条件可以是单一字段的比较、匹配运算等。 ##### 3. 更新数据 - 更新所有数据:`UPDATE 表名 SET 字段名 = 值, 字段名2 = 值2;` - 更新满足条件的数据:...

    mysql数据库基础知识点总结

    - 命令格式:`CREATE TABLE 新表名 LIKE 旧表名;` ##### 表结构的修改 - **添加字段** - 命令格式:`ALTER TABLE 表名 ADD 字段名 类型;` - **修改字段类型** - 命令格式:`ALTER TABLE 表名 MODIFY 字段名 新...

    Linux中mysql的搭建和应用

    在Linux环境中,MySQL是一种广泛应用的关系型数据库管理系统,用于存储和管理各种类型的数据。本文将详细介绍在Linux上搭建MySQL服务器的过程,以及如何进行基本的操作,包括创建数据库、表、数据的增删改查、备份和...

    mysql常见查询语句和学习笔记解析.docx

    根据提供的文档内容,我们可以归纳出以下几个重要的MySQL知识点: ### 一、备份与还原表 **备份语句**: - `mysqldump -h192.168.32.89 -uwjf -p wjf teams > F:\wjd.sql` - 注意:在 `wjd.sql` 后面不要加分号。 ...

    mysql运维工程师笔记

    MySQL 运维工程师笔记 本笔记涵盖了 MySQL 的基础知识点,包括数据库的基本概念、 MySQL 的特点、库和表的操作、数据的操作、查询语句、数据完整性、事务的隔离级别等。 数据库的基本概念: 数据库是存储和管理...

    MySQL数据库中数据表(创建、查看、修改、复制、删除).doc

    MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,用于管理和存储数据。在MySQL中,数据表是数据组织的基本单元,理解如何创建、查看、修改、复制和删除数据表是数据库管理的基础。以下是对这些操作的详细...

    zjw-数据库机考内容.docx

    * 删除存储过程:drop procedure 过程名; * 查看存储过程:show procedure status like '过程名'; 九、触发器管理 * 创建触发器:create trigger 触发器名 before/after 事件 on 表名 for each row 语句; * 删除...

    mysql学习笔记

    - **语法**: `CREATE TABLE <新表名> LIKE | AS <原表名>;` - **说明**: 创建一个新的表,并将原表的结构复制到新表中。 - **示例**: 复制`users`表的结构到`new_users`表: - `CREATE TABLE new_users LIKE users...

    mysql笔记.pdf

    - 删除数据:使用语句`DELETE FROM 表名 WHERE 条件;`来删除表中的数据。 四、修改数据表结构 在数据表创建之后,可能需要根据实际情况修改表结构。 - 添加列:使用`ALTER TABLE 表名 ADD 列名 列类型(长度);`来向...

    mysql数据库

    以上内容涵盖了MySQL数据库的基本操作,包括安装配置、数据库管理、数据表操作、数据操作、索引、视图、事务、存储过程、函数以及权限管理等方面,这些是MySQL数据库学习的基础,通过深入理解和实践,可以逐步掌握更...

    MySQL 代码的笔记1

    * LIKE 运算符:`SELECT 字段名 FROM 表名 WHERE 条件 LIKE 通配符;`。 * 通配符:包括 %、_、[] 等。 以上是 MySQL 代码笔记的相关知识点,涵盖了数据类型、创建数据库、创建数据表、约束、修改表结构、DML 语句、...

    探索MySQL的心脏:如何查看当前存储引擎

    ### 探索 MySQL 的心脏:如何查看当前存储引擎 MySQL 是一个非常强大的开源关系型数据库管理系统(RDBMS),在 Web 应用程序的后端数据存储领域占据着举足轻重的地位。它以结构化查询语言(SQL)为基础,是 LAMP...

    2 MySQL约束与设计 让初学者自学的

    MySQL是世界上最流行的关系型数据库管理系统之一,用于存储和管理数据。在学习MySQL的过程中,了解约束与设计是非常重要的,因为它们确保了数据的准确性和一致性。本教程主要关注MySQL中的表约束和数据库设计基础,...

    对MySql经常使用语句的全面总结(必看篇)

    以上就是MySQL常用语句的全面总结,这些知识点涵盖了数据库的启动、连接、权限管理、数据库和表的创建、查询、更新、删除以及存储过程、视图和用户管理等方面,是日常开发和运维工作中的必备技能。记得将这些实用的...

    MySql-Learning

    #### 一、MySQL 存储结构 MySQL 的存储结构主要包括以下几个层次: 1. **数据库**: 数据库是用于组织、存储和管理数据的集合。在 MySQL 中,可以通过创建不同的数据库来区分不同业务或项目的数据。 2. **表**: 表...

    javaweb学习笔记

    - 如果使用中文作为文件夹名,在初始化过程中可能会遇到问题,例如无法生成 `data` 文件夹,导致 MySQL 服务无法正常启动。 2. **管理员权限运行 CMD**: - 通过 Windows 的 “C:\WINDOWS\System32” 目录下的...

    mysql笔记.docx

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储...以上是MySQL基础知识的概述,实际使用中可能涉及更多复杂操作,如视图、触发器、存储过程、索引等。熟悉这些基础操作对于日常数据库管理和开发至关重要。

    joe_MySQL笔记

    **配置文件**: 在MySQL的配置过程中,`my.ini` 文件扮演着至关重要的角色。它主要用于定义MySQL服务器的各种配置选项。 - **`[mysqld]`**: 这是服务端配置的部分。 - **`port:3306`**: 指定了MySQL服务器监听的端口...

Global site tag (gtag.js) - Google Analytics