Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mySQL thả bảng với Wildcard chỉ sử dụng câu lệnh SQL?

Bạn có thể sử dụng SQL động để làm điều đó, bên trong một thủ tục được lưu trữ. Nó trông giống như thế này (chưa được kiểm tra):

CREATE PROCEDURE drop_like (IN pattern VARCHAR(64))
BEGIN
  DECLARE q tinytext;
  DECLARE done INT DEFAULT FALSE;
  DECLARE cur CURSOR FOR
    SELECT CONCAT('DROP TABLE "', table_schema, '"."', table_name, '"')
    FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_name LIKE pattern;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur;

  drop_loop: LOOP
    FETCH cur INTO q;
    IF done THEN
      LEAVE drop_loop;
    END IF;
    PREPARE stmt FROM @q;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
  END LOOP;
  CLOSE cur;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL UNION DISTINCT

  2. SQL SERVER - SQL_NO_CACHE và TÙY CHỌN (RECOMPILE)

  3. MYSQL PHP Cảnh báo:mysql_query () mong đợi tham số 1 là chuỗi

  4. MySQL truy vấn tham số C # với mệnh đề `in`

  5. Cách tốt nhất để xóa các hàng cũ khỏi MySQL trên cơ sở luân phiên là gì?