mysql - 關(guān)于數(shù)據(jù)庫中系統(tǒng)metadata方法的問題
問題描述
使用metadata方法,如INFORMATION_SCHEMA.COLUMNS, INFORMATION_SCHEMA.TABLE這種,初學(xué)metadata方法,這里不太理解, 并且對(duì)于mysql不能用with方法不知道怎么解決,如何用一個(gè)語句選出的結(jié)果在另一個(gè)語句中進(jìn)行from操作?臨時(shí)表如何搭建?
CUSTOMER(cid,cname,ccity,cstate,cphone)RESTAURANT(rid,rname,rcity,rstate)MENUITEM(rid,itemname,price)ORDER(oid,cid,rid,ordertime,deliverytime,totalprice,deliveryfee)ORDERDETAIL(oid,rid,itemname,quantity)列出擁有最多attributes的table列出attribute類型為int的attribute名及其table名列出擁有相同attribute和相同數(shù)據(jù)類型的兩個(gè)表
問題解答
回答1:mysql不支持with,臨時(shí)表語法可以百度,”用一個(gè)語句選出的結(jié)果在另一個(gè)語句中進(jìn)行from操作“你是說insert into select么 oracle也有的嘛 臨時(shí)數(shù)據(jù)可以直接用insert into tbl select * from dual插入臨時(shí)表 方法笨了點(diǎn)還是可以實(shí)現(xiàn)的“列出擁有最多attributes的table”和“列出attribute類型為int的attribute名及其table名”在INFORMATION_SCHEMA.COLUMNS中有table_schema,table_name,column_name,data_type,你按需要取值就可以了最后一個(gè)問題可以稍微處理一下數(shù)據(jù)篩選,比如select group_concat(table_name) from (select table_name,group_concat(table_columns) table_atrs from (select table_name,concat(column_name,data_type,ifnull(CHARACTER_MAXIMUM_LENGTH,’’)) table_columns from INFORMATION_SCHEMA.COLUMNS order by table_name,column_name) tbl group by table_name ) aaa group by table_atrs having count(1)>1;整理了一下,這個(gè)sql可以找出你要的結(jié)果,相同結(jié)構(gòu)的表名以逗號(hào)連接展示出來(不包括索引結(jié)構(gòu))
相關(guān)文章:
1. android - 美團(tuán)篩選處篩選條件停靠+條件點(diǎn)擊滑動(dòng)到頂部。2. list - python 求助3. python3.x - python3.5使用pyinstaller打包報(bào)錯(cuò)找不到libpython3.5mu.so.1.0等文件求解?4. python算法,如何優(yōu)雅的合并2個(gè)列表字典?5. python - def自定義函數(shù)的疑惑6. 請(qǐng)教: 關(guān)于 python 反斜杠轉(zhuǎn)義的疑問7. mysql優(yōu)化 - mysql like語句會(huì)導(dǎo)致全表掃描?8. javascript 如何下載一個(gè)excel文件 ?9. Python中, 仿照經(jīng)典代碼實(shí)現(xiàn)單例, 卻出現(xiàn)了不是單例的的狀態(tài), 代碼哪里出錯(cuò)了 ?10. php由5.3升級(jí)到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?
