Mysql動態建表和臨時表

2021-09-20 10:24:41 字數 1339 閱讀 8031

1.mysql採用儲存,實現動態建表:

begin

declare tb_name varchar(64);

declare v_name varchar(32) default 'tbl_test_';

set tb_name = concat(v_name,date_format(curdate(),'%y%m%d'));

set @sql_delete = concat('drop table if exists ',tb_name);

prepare sql_delete from @sql_delete;

execute sql_delete;

deallocate prepare sql_delete;

set @sql_create_table = concat(

'create table if not exists ', tb_name,

"( `id` int(11) not null auto_increment,

`name` varchar(255) default null,

`address` varchar(255) default null,

`time` datetime default null on update current_timestamp,

primary key (`id`)

) engine=innodb auto_increment=1 default charset=utf8");

prepare sql_create_table from @sql_create_table;

execute sql_create_table;

deallocate prepare sql_create_table;

end

拼接為乙個變數,採用prepare、execute、deallocate prepare實現動態執行ddl語句建表。

2.mysql臨時表

採用mysql臨時表,可以在儲存過程中處理中間資料,方便實現統計等功能。

語法如下:

drop table if exists tbl_temp_table;

create temporary table if not exists tbl_dcs_temp_table(

id varchar(20) not null,

pile_key varchar(32) not null,

value integer not null

);

平時mysql臨時表幾乎使用不到,建的臨時表也不能用視覺化連線工具檢視表結構。

mysql動態 建表 mysql動態表創設

mysql 動態表建立 mysql 動態表建立 首先要檢測是否存在。使用sql語句 1.show tables like tb bp d case 2.select table name from information schema tables where table schema dbname...

mysql臨時表更新 MySql 臨時表

今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...

mysql 臨時表 限制 Mysql臨時表

當你建立臨時表的時候,你可以使用temporary關鍵字。如 create temporary table tmp table name varchar 10 not null,passwd char 6 not null 或create temporary table if not exists ...