一:什麼是元資料?
所謂元資料,就是表示資料的資料,這些資料五花八門,總之,只要不是我們儲存到資料庫裡的資料,大多都可以理解為元資料。描述資料庫的任何資料—作為資料庫內容的對立面—是元資料。因此,列名、資料庫名、使用者名稱、版本名以及從show語句得到的結果中的大部分字串是元資料。還包括information_schema資料庫中的表中的內容,因為定義的那些表儲存關於資料庫物件的資訊。
二:如何來獲取這些元資料呢?
總的來說,有三種思路,第一種,各種show,第二種,各種select,第三種,是mysql的命令列下的命令,不是sql語句。
1:show
[sql]
show databases; --列出所有資料庫
show create database db_name; --檢視資料庫的ddl
show tables; --列出預設資料庫的所有表
show tables from db_name; --列出指定資料庫的所有表
show table status; --檢視表的描述性資訊
show table status from db_name;
show create table tbl_name; --檢視表的ddl
show columns from tbl_name; --檢視列資訊
show index from tbl_name; --檢視索引資訊
有幾種show語句還可以帶有一條like 'pattern'字句,用來限制語句的輸出範圍,其中'pattern'允許包含'%'和'_'萬用字元,比如下面這條語句返回domaininfo表中以s開頭的所有列:
show columns
from
domaininfo
like
's%'
;
2:select
像上面這張支援like字句的所有show都可以改寫成一條where字句,如:
show columns
from
domaininfo
where
field=
'sysdomain'
;
注:desc tbl_name和explain tbl_name的效果和show columns from tbl_name一致。
從information_schema資料庫裡查詢相關表
information_schema是mysql自帶的乙個系統資料庫,它裡面儲存了所有的元資料,通過select裡面的相關表就可以獲取你想要的元資料。和show語句相比,它比較麻煩,但它的好處是標準的sql語句,更具有可移植性,且更靈活,可以通過各種表示式獲取你真正需要的資訊。
3:從命令列獲取元資料
前面兩種方法都必須得在mysql命令列裡執行,而mysqlshow和mysqldump提供了從os命令列獲取元資料庫的方法,如:
mysqlshow
--列出所有資料庫
mysqlshow db_name
--列出給定資料庫的所有表
mysqlshow db_name tbl_name
--列出給定資料庫表的所有列
mysqlshow
--keys db_name tbl_name --列出索引資訊
mysqlshow
--status db_name --列出資料庫的描述性資訊
mysqldump可以讓你看到
create
table
語句(就想show
create
table
語句一樣),如:
[sql]
mysqldump
--no-data db_name [tbl_name] ...
注意:在用mysqldump檢視表結構時,一定要加上--no-data,否則你看到的將是資料庫表裡的資料
mysql元資料同步 mysql中的元資料
一 什麼是元資料?所謂元資料,就是表示資料的資料,這些資料五花八門,總之,只要不是我們儲存到資料庫裡的資料,大多都可以理解為元資料。描述資料庫的任何資料 作為資料庫內容的對立面 是元資料。因此,列名 資料庫名 使用者名稱 版本名以及從show語句得到的結果中的大部分字串是元資料。還包括informa...
mysql 元資料 MySQL 元資料
mysql 元資料 你可能想知道mysql以下三種資訊 查詢結果資訊 select,update 或 delete語句影響的記錄數。資料庫和資料表的資訊 包含了資料庫及資料表的結構資訊。mysql伺服器資訊 包含了資料庫伺服器的當前狀態,版本號等。在mysql的命令提示符中,我們可以很容易的獲取以上...
mysql 元 MySQL 元資料
你可能想知道mysql以下三種資訊 查詢結果資訊 select,update 或 delete語句影響的記錄數。資料庫和資料表的資訊 包含了資料庫及資料表的結構資訊。mysql伺服器資訊 包含了資料庫伺服器的當前狀態,版本號等。在mysql的命令提示符中,我們可以很容易的獲取以上伺服器資訊。但如果使...