MySQL 元數(shù)據(jù)查看及實(shí)例代碼
你可能想知道MySQL以下三種信息:
- 查詢結(jié)果信息: SELECT, UPDATE 或 DELETE語句影響的記錄數(shù)。
- 數(shù)據(jù)庫和數(shù)據(jù)表的信息: 包含了數(shù)據(jù)庫及數(shù)據(jù)表的結(jié)構(gòu)信息。
- MySQL服務(wù)器信息: 包含了數(shù)據(jù)庫服務(wù)器的當(dāng)前狀態(tài),版本號(hào)等。
在MySQL的命令提示符中,我們可以很容易的獲取以上服務(wù)器信息。 但如果使用Perl或PHP等腳本語言,你就需要調(diào)用特定的接口函數(shù)來獲取。 接下來我們會(huì)詳細(xì)介紹。
獲取查詢語句影響的記錄數(shù)
PERL 實(shí)例
在 DBI 腳本中, 語句影響的記錄數(shù)通過函數(shù) do( ) 或 execute( )返回:
# 方法 1 # 使用do( ) 執(zhí)行 $query my $count = $dbh->do ($query); # 如果發(fā)生錯(cuò)誤會(huì)輸出 0 printf "%d rows were affected\n", (defined ($count) ? $count : 0); # 方法 2 # 使用prepare( ) 及 execute( ) 執(zhí)行 $query my $sth = $dbh->prepare ($query); my $count = $sth->execute ( ); printf "%d rows were affected\n", (defined ($count) ? $count : 0);
PHP 實(shí)例
在PHP中,你可以使用 mysql_affected_rows( ) 函數(shù)來獲取查詢語句影響的記錄數(shù)。
$result_id = mysql_query ($query, $conn_id); # 如果查詢失敗返回 $count = ($result_id ? mysql_affected_rows ($conn_id) : 0); print ("$count rows were affected\n");
數(shù)據(jù)庫和數(shù)據(jù)表列表
你可以很容易的在MySQL服務(wù)器中獲取數(shù)據(jù)庫和數(shù)據(jù)表列表。 如果你沒有足夠的權(quán)限,結(jié)果將返回 null。
你也可以使用 SHOW TABLES 或 SHOW DATABASES 語句來獲取數(shù)據(jù)庫和數(shù)據(jù)表列表。
PERL 實(shí)例
# 獲取當(dāng)前數(shù)據(jù)庫中所有可用的表。 my @tables = $dbh->tables ( ); foreach $table (@tables ){ print "Table Name $table\n"; }
PHP 實(shí)例
<?php $con = mysql_connect("localhost", "userid", "password"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_list = mysql_list_dbs($con); while ($db = mysql_fetch_object($db_list)) { echo $db->Database . "<br />"; } mysql_close($con); ?>
獲取服務(wù)器元數(shù)據(jù)
以下命令語句可以在MySQL的命令提示符使用,也可以在腳本中 使用,如PHP腳本。
命令 | 描述 |
---|---|
SELECT VERSION( ) | 服務(wù)器版本信息 |
SELECT DATABASE( ) | 當(dāng)前數(shù)據(jù)庫名 (或者返回空) |
SELECT USER( ) | 當(dāng)前用戶名 |
SHOW STATUS | 服務(wù)器狀態(tài) |
SHOW VARIABLES | 服務(wù)器配置變量 |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
innodb 庫的備份注意點(diǎn)(由phpmyadmin引起的解決方案)
新版本xampps 1.8.5 X64 集成了phpmyadmin最新版本(4.1.0), 可每次初始化安裝程序后, 進(jìn)入phpmyadmin管理工具, 就會(huì)發(fā)現(xiàn)phpmyadmin高級(jí)功能失效, 一直在提示數(shù)據(jù)表不存在, 經(jīng)過再三的分析, 終于找到原因2013-12-12MySQL字段時(shí)間類型該如何選擇實(shí)現(xiàn)千萬數(shù)據(jù)下性能提升10%~30%
這篇文章主要介紹了MySQL字段的時(shí)間類型該如何選擇?才能實(shí)現(xiàn)千萬數(shù)據(jù)下性能提升10%~30%,主要概述datetime、timestamp與整形時(shí)間戳相關(guān)的內(nèi)容,并在千萬級(jí)別的數(shù)據(jù)量中測(cè)試它們的性能,最后總結(jié)出它們的特點(diǎn)與使用場(chǎng)景2023-10-10MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用示例小結(jié)
在MySQL中,DATEDIFF()函數(shù)和TIMESTAMPDIFF()函數(shù)用于計(jì)算日期和時(shí)間之間的差異,TIMESTAMPDIFF()函數(shù)返回的結(jié)果是整數(shù),但你可以通過在計(jì)算過程中使用適當(dāng)?shù)某▉慝@得所需的小數(shù)部分,本文介紹MySQL中的datediff()方法和timestampdiff()方法的應(yīng)用,感興趣的朋友一起看看吧2023-12-12mac安裝mysql數(shù)據(jù)庫及配置環(huán)境變量的圖文教程
本文主要介紹了mac安裝mysql數(shù)據(jù)庫及配置環(huán)境變量,文中通過圖文代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法
這篇文章主要介紹了Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-10-10低版本Druid連接池+MySQL驅(qū)動(dòng)8.0導(dǎo)致線程阻塞、性能受限
應(yīng)用升級(jí)MySQL驅(qū)動(dòng)8.0后,在并發(fā)量較高時(shí),查看監(jiān)控打點(diǎn),Druid連接池拿到連接并執(zhí)行SQL的時(shí)間大部分都超過200ms,本文就解決一下這個(gè)問題2021-07-07MySQL實(shí)現(xiàn)配置主從復(fù)制項(xiàng)目實(shí)踐
本文主要介紹了MySQL?配置主從復(fù)制實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03