專案04 Mysql新增旬表02

2021-10-11 16:19:57 字數 4503 閱讀 9613

承接上文,本篇介紹建立mysql旬表的內容,使用儲存過程

寫在前面

使用之前,請測試多次。並且修改對應的內容,使其符合您的實際需要

主要是對變數 i 表示的是月份,需要替換表結構和表名

delimiter $$

create

procedure create_table(

)begin

declare i int

;set i=1;

while i<=

12do

set@sql_create_table_gpstrail01

= concat(concat(

'create table if not exists page_view_log_'

, date_format(date_add(curdate(),

interval i month),

'%y%m'),

'_1'

,"(

`id` int(10) unsigned not null auto_increment comment '主鍵,自增id',

`time` int(10) unsigned not null comment '訪問時間',

`pageid` int(4) unsigned not null comment '頁面id',

`viewip` bigint(20) unsigned not null comment '整型後的ip',

primary key (`id`),

key `page` (`pageid`) using btree

) engine=innodb default charset=utf8")

);set@sql_create_table_gpstrail02

= concat(concat(

'create table if not exists page_view_log_'

, date_format(date_add(curdate(),

interval i month),

'%y%m'),

'_2'

,"(

`id` int(10) unsigned not null auto_increment comment '主鍵,自增id',

`time` int(10) unsigned not null comment '訪問時間',

`pageid` int(4) unsigned not null comment '頁面id',

`viewip` bigint(20) unsigned not null comment '整型後的ip',

primary key (`id`),

key `page` (`pageid`) using btree

) engine=innodb default charset=utf8")

);set@sql_create_table_gpstrail03

= concat(concat(

'create table if not exists page_view_log_'

, date_format(date_add(curdate(),

interval i month),

'%y%m'),

'_3'

,"(

`id` int(10) unsigned not null auto_increment comment '主鍵,自增id',

`time` int(10) unsigned not null comment '訪問時間',

`pageid` int(4) unsigned not null comment '頁面id',

`viewip` bigint(20) unsigned not null comment '整型後的ip',

primary key (`id`),

key `page` (`pageid`) using btree

) engine=innodb default charset=utf8")

);prepare sql_create_table_gpstrail01 from

@sql_create_table_gpstrail01

;prepare sql_create_table_gpstrail02 from

@sql_create_table_gpstrail02

;prepare sql_create_table_gpstrail03 from

@sql_create_table_gpstrail03

;execute sql_create_table_gpstrail01;

execute sql_create_table_gpstrail02;

execute sql_create_table_gpstrail03;

set i=i+1;

endwhile

;deallocate

prepare sql_create_table_gpstrail01;

deallocate

prepare sql_create_table_gpstrail02;

deallocate

prepare sql_create_table_gpstrail03;

end $$

delimiter;使用

call create_table();

刪除drop

procedure create_table;

delimiter $$

create

procedure create_table(

)begin

declare i int

;set i=1;

while i<=

12do

set@sql_create_table_gpstrail

= concat(

'create table if not exists seat'

, date_format(date_add(curdate(),

interval i month),

'%y%m'),

"(

`id` int(11) default null,

`student` varchar(255) default null

) engine=innodb default charset=utf8mb4")

;prepare sql_create_table_gpstrail from

@sql_create_table_gpstrail

;execute sql_create_table_gpstrail;

set i=i+1;

endwhile

;deallocate

prepare sql_create_table_gpstrail;

end $$

delimiter

;

用於資料搬遷,如果您沒有這個需求,可忽略以下內容

12月份新增:

create

table

`base`

(`id`

varchar(10

)default

null

)engine

=innodb

default

charset

=utf8

delimiter $$

create

procedure insert_table(

)begin

declare i int

;set i=1;

while i<=

12do

set@sql_insert_table

=concat(

'insert into base(id)'

,'values('

,date_format(date_add(curdate(),

interval i month),

'%y%m'),

')')

;prepare sql_insert_table from

@sql_insert_table

;execute sql_insert_table;

set i=i+1;

endwhile

;deallocate

prepare sql_insert_table;

end $$

delimiter

;#以上為新增'年月'格式 202101

#'年'格式的insert into base (id) values('2021');

call insert_table();

drop

procedure insert_table;

04 Mysql 初識sql語句

create database db1 charset utf8 檢視當前建立的資料庫 show create database db1 檢視所有的資料庫 show databases alter database db1 charset gbk drop database db1 use db1 ...

04 MySQL常見函式 單行函式

單行函式細分 1 字元函式 2 數學函式 3 日期函式 4 其他函式 5 流程控制函式 單行函式 字元函式 一 字元函式 1.length 獲取引數的位元組長度 select length john select length 張三丰 utf 8編碼,1個漢字3個位元組 檢視當前客戶端的字符集 sh...

php增加mysql索引 mysql怎麼新增索引

在mysql中可以通過使用alter table這個sql語句來為表中的字段新增索引。1 新增primary key 主鍵索引 mysql alter table table name add primary key column 2 新增unique 唯一索引 mysql alter table ...