发布于 2016-04-08 11:57:22 | 157 次阅读 | 评论: 0 | 来源: 网友投递
Mysql关系型数据库管理系统
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的三个信息:
在mysql提示符下很容易获得所有这些信息。但是,当使用Perl或PHP的API,那么我们就需要显式地调用各种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,数据库服务器获取各种重要信息。