无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

ITIS生物分類數(shù)據(jù)庫改成類似excle格式sql

2023-08-08 23:05 作者:天天065  | 我要投稿

上次給大家介紹了ITIS數(shù)據(jù)庫的常用表,由于數(shù)據(jù)庫的存儲(chǔ)方式和日常習(xí)慣不太一樣,因此計(jì)劃重新組織一下。

-- 等級(jí)表

select replace(hierarchy_string,'-',','),a.* from hierarchy a where tsn=769899;? ?

分類關(guān)系是以下面的形式組織的

202423-914154-914155-914158-82696-563886-99208-100500-563890-914213-152741-152864-709253-154344-154310-768180-768205-768289-769899


-- 1、將物種分類拆開,有兩個(gè)字段:物種ID,物種所在的各級(jí)分類的ID

create table bio_hierarchy as

? SELECT a.tsn,b.help_topic_id,substring_index( substring_index( replace(hierarchy_string,'-',','), ',', b.help_topic_id + 1 ), ',',- 1 ) rel_tsn

? FROM hierarchy a

? ? JOIN mysql.help_topic b ON b.help_topic_id < ( length( replace(hierarchy_string,'-',',') ) - length( REPLACE ( replace(hierarchy_string,'-',','), ',', '' ) ) + 1 )?

? ?--where a.tsn=678130

? order by a.tsn,b.help_topic_id

??

create index i_bio_hierarchy on bio_hierarchy(tsn);


select * from bio_hierarchy;


-- 2、將物種的各級(jí)分類的名字以及級(jí)別查出來

create table bio_fenlei as

select a.*,b.completename ,e.shortauthor,c.rank_id,d.rank_name?

? from bio_hierarchy a?

? left join longnames b?

? ? on a.rel_tsn=b.tsn?

? left join taxonomic_units c? ? ? ? ? ? ? ?-- 分類單元

? on b.tsn =c.tsn?

? left join taxon_unit_types d? ? ? ? ? ? ? -- 分類類別

? ? on c.kingdom_id =d.kingdom_id?

? ?and c.rank_id =d.rank_id?

? left join strippedauthor e? ? ? ? ? ? ? ? -- 命名人

? ? on c.taxon_author_id =e.taxon_author_id

? where a.tsn=678130

?;


create index i_bio_fenlei_1 on bio_fenlei(tsn);


-- 3、將窄表(一個(gè)物種對(duì)應(yīng)多條記錄)變?yōu)閷挶恚ㄒ粋€(gè)物種對(duì)應(yīng)一條記錄)

?-- 亞種

insert into bio_names_zzt (name_code? ,? Subspecies,author? ? ? ? )

select tsn,a.completename,shortauthor from bio_fenlei a where rank_name ='Subspecies';

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Species' set a.Species=b.completename;

?-- 種

insert into bio_names_zzt (name_code? ,? Species,author? ? ? ? )

select tsn,a.completename,shortauthor from bio_fenlei a where rank_name ='Species'?

and not exists (select 1 from bio_fenlei where tsn=a.tsn and rank_name ='Subspecies' );

create index i_bio_names_zzt_1 on bio_names_zzt(name_code);


-- 界

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Kingdom' set a.Kingdom=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Subkingdom' set a.Subkingdom=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Infrakingdom' set a.Infrakingdom=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Superphylum' set a.Superphylum=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Phylum' set a.Phylum=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Subphylum' set a.Subphylum=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Class' set a.Class=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Subclass' set a.Subclass=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Infraclass' set a.Infraclass=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Superorder' set a.Superorder=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='order' set a.order_e=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Suborder' set a.Suborder=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Infraorder' set a.Infraorder=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Superfamily' set a.Superfamily=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Family' set a.Family=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Subfamily' set a.Subfamily=b.completename;

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Tribe' set a.Tribe=b.completename;

-- 屬

update bio_names_zzt a left join bio_fenlei b on a.name_code=b.tsn and b.rank_name ='Genus' set a.Genus=b.completename;


select * from bio_fenlei

select Subspecies,Species,a.* from bio_names_zzt a where Subspecies like 'Upupa epops%';

最終格式是這樣的,以戴勝鳥(有亞種)為例:

select Subspecies,Species,a.* from bio_names_zzt a where name_code='702522';?

云斑白條天牛(沒有亞種)



ITIS生物分類數(shù)據(jù)庫改成類似excle格式sql的評(píng)論 (共 條)

分享到微博請遵守國家法律
青龙| 纳雍县| 沛县| 罗城| 彝良县| 金沙县| 宜兰县| 屯昌县| 上林县| 天峻县| 白水县| 东山县| 黄梅县| 桂平市| 绥德县| 紫阳县| 安徽省| 大港区| 松溪县| 蓝田县| 巴南区| 濮阳市| 东丰县| 巴楚县| 荔浦县| 长宁区| 南投县| 雅安市| 吉安县| 平谷区| 石渠县| 延津县| 夹江县| 长丰县| 罗山县| 元朗区| 项城市| 博湖县| 霍邱县| 班戈县| 响水县|