作者s97610017 (粥有兪)
看板PHP
標題[請益] 關於show databases
時間Wed May 15 01:05:32 2013
我想要寫一個php程式
將mysql中有那些資料庫show出來
最後再加上新建資料表 輸入資料等等功能
但是在show資料庫這個步驟的時候
在網路上找了個人家寫的例子
$dbquery = mysqli_query($dbh,"SHOW DATABASES");
$i = 0;
while ($row = mysqli_fetch_assoc($dbquery)) {
$arr[$i] = $row['Database'];
echo "<br> ". $i ." = " .$arr[$i];
$i++;
}
最後show出來的畫面為
0 = information_schema
1 = 123
2 = TEST2
3 = mysql
4 = performance_schema
5 = test
基本上我資料庫內目前只有手動創建 '123' 'TEST2' 'test'
這三個而已
所以想請問一下 information_schema、mysql、performance_schema
抓到這三個值的意義
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.35.239
1F:→ MOONRAKER:系統資料表 05/15 05:26
2F:→ kerash:schema 算是 sql 的一些配置資料 05/15 12:51
3F:→ kerash:有如 某個資料表的 auto increment 可以直接從這些表抓 05/15 12:52
4F:→ s97610017:謝謝! 05/15 13:03
5F:→ s97610017:另外請問一下 為什麼我自己創建的test位置會跟後來創建 05/15 13:04
6F:→ s97610017:的TEST2、123 兩個資料表中間會有間隔著mysql和 05/15 13:05
7F:→ s97610017:performance_schema 以及新創的都會排在mysql之前? 05/15 13:05
8F:→ MOONRAKER:不重要 你需要排序就把系統資料表unset掉再asort就好 05/15 13:44
9F:→ MOONRAKER:show tables原則上只告訴你有什麼表 什麼順序他不管 05/15 13:44
10F:→ MOONRAKER:如果排好那是剛好而已 05/15 13:45
11F:→ MOONRAKER:抱歉,show databases。 05/15 13:50
12F:→ MOONRAKER:你真的需要他排好就從information_schema裡面查出來 05/15 13:51
13F:→ MOONRAKER:information_schema.schemata裡面就是了。 05/15 13:56
14F:→ s97610017:原來如此 十分感謝! 05/15 15:05
15F:→ MOONRAKER:你可看一下這個MySQL bug report 簡單結論是not a bug 05/15 15:32
17F:→ MOONRAKER:MySQL-front的team反映說show databases不會排序 回答是 05/15 15:34
18F:→ MOONRAKER:show xxx系列指令也並不保證排序 會隨fs改變 有排是剛好 05/15 15:34
19F:→ MOONRAKER:最後就把他打槍 XP 裡面也有提到以上查詢所有db的方法 05/15 15:36
20F:→ s97610017:嗯!我晚上回家再認真來看看XD 太感謝M大了 好熱心 :目 05/15 16:21
21F:→ s97610017:後來嘗試 發現infor,ation_schema裡面的東西跟 05/16 12:30
22F:→ s97610017:showdatabases 跑出來的東西一樣! 05/16 12:31
23F:→ MOONRAKER:是阿 show databases只是比較好記而已 05/16 12:34
24F:→ MOONRAKER:但是你select的時候可以給order,show database不行 05/16 12:34
25F:→ s97610017:soga! XD 05/16 14:00