MySQL — информация о базе данных

Получение и использование метаданных MySQL

Есть три типа информации, которую вы хотели бы получить от MySQL.

  • Информация о результате запросов — сюда входит количество записей, затронутых любым оператором SELECT, UPDATE или DELETE.

  • Информация о таблицах и базах данных — сюда входит информация, относящаяся к структуре таблиц и баз данных.

  • Информация о сервере MySQL — сюда входит статус сервера базы данных, номер версии и т. Д.

Получить всю эту информацию в командной строке MySQL очень легко, но при использовании API-интерфейсов PERL или PHP нам необходимо явно вызывать различные API-интерфейсы для получения всей этой информации.

Получение количества строк, затронутых запросом

Давайте теперь посмотрим, как получить эту информацию.

Пример PERL

В сценариях DBI количество затронутых строк возвращается командой do () или execute () , в зависимости от того, как вы выполняете запрос.

# Method 1
# execute $query using do( )
my $count = $dbh->do ($query);
# report 0 rows if an error occurred
printf "%d rows were affected\n", (defined ($count) ? $count : 0);

# Method 2
# execute query using prepare( ) plus execute( )
my $sth = $dbh->prepare ($query);
my $count = $sth->execute ( );
printf "%d rows were affected\n", (defined ($count) ? $count : 0);

Пример PHP

В PHP вызовите функцию mysql_affected_rows (), чтобы узнать, сколько строк изменилось в запросе.

$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 rows were affected\n");

Листинговые таблицы и базы данных

Очень легко перечислить все базы данных и таблицы, доступные на сервере баз данных. Ваш результат может быть нулевым, если у вас нет достаточных привилегий.

Помимо метода, который показан в следующем блоке кода, вы можете использовать запросы SHOW TABLES или SHOW DATABASES для получения списка таблиц или баз данных на PHP или PERL.

Пример PERL

# Get all the tables available in current database.
my @tables = $dbh->tables ( );

foreach $table (@tables ){
   print "Table Name $table\n";
}

Пример PHP

<?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);
?>

Получение метаданных сервера

В MySQL есть несколько важных команд, которые можно выполнить либо в командной строке MySQL, либо с помощью любого сценария, например PHP, для получения различной важной информации о сервере базы данных.

Sr.No.Команда и описание
1

SELECT VERSION( )

Строка версии сервера

2

SELECT DATABASE( )

Имя текущей базы данных (пусто, если нет)

3

SELECT USER( )

Текущее имя пользователя

4

SHOW STATUS

Индикаторы состояния сервера

5

SHOW VARIABLES

Переменные конфигурации сервера

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки