środa, 19 września 2018

MySQL - informacje o bazie danych

MySQL - informacje o bazie danych


Uzyskiwanie i używanie metadanych MySQL

Istnieją trzy rodzaje informacji, które chciałbyś mieć z MySQL.
·      Informacja o wyniku zapytań - dotyczy to liczby rekordów, na które wpływa instrukcja SELECT, UPDATE lub DELETE.
·      Informacje o tabelach i bazach danych - Obejmuje to informacje dotyczące struktury tabel i baz danych.
·      Informacje o serwerze MySQL - Obejmuje to stan serwera bazy danych, numer wersji itp.
Bardzo łatwo jest uzyskać wszystkie te informacje w wierszu poleceń MySQL, ale podczas korzystania z interfejsów PERL lub PHP, musimy wywoływać jawnie różne API, aby uzyskać wszystkie te informacje.

Uzyskiwanie liczby wierszy, których dotyczy zapytanie

Teraz zobaczymy, jak uzyskać te informacje.
PERL Przykład
W skryptach DBI liczba wierszy, których dotyczy problem, jest zwracana przez komendę do() lub execute(), w zależności od sposobu wykonania kwerendy.
# Method 1
# execute $query using do( )
my $count = $dbh->do ($query);
# report 0 rows if an error occurred
printf "%d wiersze zostały wyszukane\n", (defined ($count) ? $count : 0);

# Method 2
# execute query using prepare( ) plus execute( )
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d wiersze zostały wyszukane \n", (defined ($count) ? $count : 0);

Przykład PHP
W PHP wywołaj funkcję mysql_affected_rows(), aby dowiedzieć się, ile wierszy zostało zmienionych przez zapytanie.
$result_id = mysql_query ($query, $conn_id);
# report 0 rows if the query failed
$count = ($result_id ? mysql_affected_rows ($conn_id) : 0);
print ("$count wiersze zostały wyszukane \n");

Wyświetlanie tabel i baz danych

Bardzo łatwo jest wyświetlić wszystkie bazy danych i tabele dostępne na serwerze bazy danych. Twój wynik może być zerowy, jeśli nie masz wystarczających uprawnień.
Oprócz metody, która jest pokazana w poniższym bloku kodu, możesz użyć zapytań SHOW TABLES lub SHOW DATABASES, aby uzyskać listę tabel lub baz danych w PHP lub PERL.
PERL Przykład
# Uzyskaj wszystkie tabele dostępne w bieżącej bazie danych.
my @tables = $dbh->tables ( );
foreach $table (@tables ){
   print "Nazwa tabeli $table\n";
}

PHP przykład
<?php
   $con = mysql_connect("localhost", "userid", "password");
  
   if (!$con) {
      die('Nie można się połączyć: ' . mysql_error());
   }

   $db_list = mysql_list_dbs($con);

   while ($db = mysql_fetch_object($db_list)) {
      echo $db->Database . "<br />";
   }
   mysql_close($con);
?>

Pobieranie metadanych serwera

Istnieje kilka ważnych poleceń w MySQL, które mogą być wykonywane przy pomocy zapytania MySQL lub przy użyciu dowolnego skryptu, takiego jak PHP, w celu uzyskania różnych ważnych informacji o serwerze bazy danych.
Lp.
Polecenie i opis
1
SELECT VERSION( )
wersja serwera
2
SELECT DATABASE( )
Aktualna nazwa bazy danych
3
SELECT USER( )
Aktualna nazwa użytkownika
4
SHOW STATUS
Wskaźniki stanu serwera
5
SHOW VARIABLES
Zmienne konfiguracyjne serwera



Brak komentarzy:

Prześlij komentarz