- MySQL - Database Import
- MySQL - Database Export
- MySQL - SQL Injection
- MySQL - Handling Duplicates
- MySQL - Using Sequences
- MySQL - Database Info
- MySQL - Clone Tables
- MySQL - Temporary Tables
- MySQL - Indexes
- MySQL - Alter Command
- MySQL - Transactions
- MySQL - Regexps
- MySQL - NULL Values
- MySQL - Using Join
- MySQL - Sorting Results
- MySQL - Like Clause
- MySQL - Delete Query
- MySQL - Update Query
- MySQL - Where Clause
- MySQL - Select Query
- MySQL - Insert Query
- MySQL - Drop Tables
- MySQL - Create Tables
- MySQL - Data Types
- MySQL - Select Database
- MySQL - Drop Database
- MySQL - Create Database
- MySQL - Connection
- MySQL - PHP Syntax
- MySQL - Administration
- MySQL - Installation
- MySQL - Introduction
- MySQL - Home
MySQL Useful Resources
- MySQL - Discussion
- MySQL - Useful Resources
- MySQL - Quick Guide
- MySQL - Statements Reference
- MySQL - Useful Functions
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
MySQL - Database Info
Obtaining and Using MySQL Metadata
There are three types of information, which you would pke to have from MySQL.
Information about the result of queries − This includes the number of records affected by any SELECT, UPDATE or DELETE statement.
Information about the tables and databases − This includes information pertaining to the structure of the tables and the databases.
Information about the MySQL server − This includes the status of the database server, version number, etc.
It is very easy to get all this information at the MySQL prompt, but while using PERL or PHP APIs, we need to call various APIs exppcitly to obtain all this information.
Obtaining the Number of Rows Affected by a Query
Let is now see how to obtain this information.
PERL Example
In DBI scripts, the affected row count is returned by the do( ) or by the execute( ) command, depending on how you execute the query.
# Method 1 # execute $query using do( ) my $count = $dbh->do ($query); # report 0 rows if an error occurred printf "%d rows were affected ", (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 ", (defined ($count) ? $count : 0);
PHP Example
In PHP, invoke the mysql_affected_rows( ) function to find out how many rows a query changed.
$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 ");
Listing Tables and Databases
It is very easy to pst down all the databases and the tables available with a database server. Your result may be null if you don t have the sufficient privileges.
Apart from the method which is shown in the following code block, you can use SHOW TABLES or SHOW DATABASES queries to get the pst of tables or databases either in PHP or in PERL.
PERL Example
# Get all the tables available in current database. my @tables = $dbh->tables ( ); foreach $table (@tables ){ print "Table Name $table "; }
PHP Example
Try the following example to get database info −
Copy and paste the following example as mysql_example.php −
<html> <head> <title>Getting MySQL Database Info</title> </head> <body> <?php $dbhost = localhost ; $dbuser = root ; $dbpass = root@123 ; $dbname = TUTORIALS ; $mysqp = new mysqp($dbhost, $dbuser, $dbpass, $dbname); $tutorial_count = null; if($mysqp->connect_errno ) { printf("Connect failed: %s<br />", $mysqp->connect_error); exit(); } printf( Connected successfully.<br /> ); if ($result = mysqp_query($mysqp, "SELECT DATABASE()")) { $row = mysqp_fetch_row($result); printf("Default database is %s<br />", $row[0]); mysqp_free_result($result); } $mysqp->close(); ?> </body> </html>
Output
Access the mysql_example.php deployed on apache web server and verify the output.
Connected successfully. Default database is tutorials
Getting Server Metadata
There are a few important commands in MySQL which can be executed either at the MySQL prompt or by using any script pke PHP to get various important information about the database server.
Sr.No. | Command & Description |
---|---|
1 |
SELECT VERSION( ) Server version string |
2 |
SELECT DATABASE( ) Current database name (empty if none) |
3 |
SELECT USER( ) Current username |
4 |
SHOW STATUS Server status indicators |
5 |
SHOW VARIABLES Server configuration variables |