MySQL表名带日期的自动建表
原创有时我们需要根据日期批量创建表。这里有两种方法可以实现这一点
方法 1:使用存储过程并在稍作修改后粘贴它们sql直接在查询中执行
DROP PROCEDURE IF EXISTS create_tables
;
DELIMITER $
CREATE PROCEDURE create_tables (IN bg
DATE, IN ed
DATE)
BEGIN
SET @cur= bg;
WHILE @cur <= ed DO
SET @createSql = CONCAT(
"CREATE TABLE IF NOT EXISTS log_", DATE_FORMAT(@cur, %Y%m%d),
"(
id
int(10) unsigned NOT NULL AUTO_INCREMENT,
content
VARCHAR(1024) NULL DEFAULT ,
update_time
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
");
PREPARE stmt FROM @createSql;
EXECUTE stmt;
SET @cur= DATE_ADD(@cur, INTERVAL 1 DAY);
END WHILE;
END $
DELIMITER ;
CALL create_tables
(2022-01-01, 2022-01-02);
DROP PROCEDURE IF EXISTS create_tables
;
方法 2:使用script从脚本批量生成建表语句并将其另存为sql脚本重新执行
将以下脚本另存为.htm页面文件,双击以将其作为脚本生成工具启动
-
附加数据导入方法
mysql> LOAD DATA LOCAL INFILE dump.txt INTO TABLE mytbl
-> FIELDS TERMINATED BY :
-> LINES TERMINATED BY \r\n;
LOAD DATA 默认情况下,数据按数据文件中列的顺序插入。如果数据文件中的列与插入表中的列不匹配,则需要指定列的顺序。例如,数据文件中的列顺序为 a,b,c但是插入到表中的列的顺序是b,c,a数据导入语法如下:
mysql> LOAD DATA LOCAL INFILE dump.txt
-> INTO TABLE mytbl (b, c, a);
详情请参考 https://www.runoob.com/mysql/mysql-database-import.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:MySQLInnoDB索引介绍及优化 下一篇:感受异或的神奇