資料庫生成日然周 自然月 自然日

2021-10-24 11:35:27 字數 1160 閱讀 3135

mysql sql指令碼

set foreign_key_checks=0;

-- ----------------------------

-- table structure for date_assist

-- ----------------------------

drop table if exists `date_assist`;

create table `date_assist` (

`id` int(11) not null auto_increment,

`day` int(11) not null,

`week` int(11) not null,

`month` int(11) not null,

primary key (`id`)

) engine=innodb auto_increment=2108 default charset=utf8;

mysql 儲存過程

delimiter #

create procedure test_date1()

begin

declare i int default 0;

while i < 2000 do

insert into date_assist(day,week,month) select date_format(now()+ interval i day,'%y%m%d'), yearweek(now()+interval i day), date_format(now()+interval i day,'%y%m');

set i = i + 1;

end while;

end #

執行:

call test_date1();

所以我們提前生成好這個日期輔助表,用作關聯查詢,建好索引,這樣分頁查詢10條,就是返回10條,資料為空,也有一條為空資料的記錄行。

注意:這裡的自然周 ,是 從週日開始算一周的開始,注意跨年、跨周的問題。

2023年的1號、和2號是 2023年的第52周。

資料庫 連線(自然連線 外連線 內連線)

1 自然連線 只考慮那些在兩個關係模式中都出現的屬性上取值相同的元組對natural join join.using select a1,a2,an from r1 natural join r2 natural join natural join rn where p select name1,c...

土話筆記 資料庫 自然連線 符號

表中標黃的資料後面會說到 r表 abc 0bca cbcd 5s表 ac de32 bac5 0dab 0ac0 b1先看兩個表頭,發現a c是重複出現的 所以連線後,新表頭為a bcde 然後把a c這兩列單獨拎出來,如下 r表 ac 0cab c5 s表 ac3 2c5 abc0 發現有兩組相同...

mysql資料庫外連線,內連線,自然連線

create table join teacher id int primary key auto increment,t name varchar 10 not null,gender enum male female secret not null engine innodb character...