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

mysql tạo bảng động

Để tạo một chuỗi đại diện cho tên bảng (hoặc cơ sở dữ liệu), bạn sẽ cần phải nối chuỗi truy vấn của mình với biến và chuẩn bị / thực hiện một câu lệnh ngay trong thủ tục được lưu trữ. Đây là một ví dụ cơ bản.

-- DROP PROCEDURE IF EXISTS createLogTable;
DELIMITER //
CREATE PROCEDURE createLogTable(tblName VARCHAR(255))
BEGIN
    SET @tableName = tblName;
    SET @q = CONCAT('
        CREATE TABLE IF NOT EXISTS `' , @tableName, '` (
            `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
            `something` VARCHAR(10) NOT NULL,
            `somedate` DATETIME NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8
    ');
    PREPARE stmt FROM @q;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    -- and you're done. Table is created.
    -- process it here if you like (INSERT etc)
END //

Sau đó… CALL createLogTable('exampleTable');

Vì vậy, ý tưởng cơ bản là

  1. nối (các) tham số thủ tục với truy vấn của bạn nếu cần
  2. chuẩn bị / thực thi một câu lệnh từ chuỗi truy vấn này



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bảng cơ bản fpdf

  2. Chèn biểu mẫu HTML không hoạt động trong PHP và MySQL

  3. Dấu thời gian trong mysql có được lưu vào bộ nhớ đệm khi được truy xuất trong các múi giờ khác nhau không?

  4. Chuyển đổi cơ sở dữ liệu mysql sang Oracle

  5. Cách tăng tốc độ chèn từ gấu trúc.DataFrame .to_sql