服务器 频道

PHP MySQL 相关函数(下)

   【IT168 服务器学院】<6>.数据库级database的操作函数(2个):

  1、mysql_create_db()
  格式:int mysql_create_db(string database name , int link_identifier);

  通过程序来建立1个数据库database,当然你也可以用mysql_query()或者mysql_db_query()函数来建立或删除database

  但我们可以用这个函数更为方便地建立1个database。
  成功返回1个真值,失败,则返回1个false。

  例子:

  <?php

  $connect = mysql_connect("$hostname","$user","$pwd");
  $create = mysql_create_db("dbtest" , $connect);
  if($create) echo "create database dbtest successed!";
  else echo "create database dbtest failed!";

  ?>

  
  2、mysql_drop_db()
  格式:int mysql_drop_db(string database name , int link_identifier);

  通过程序来删除1个数据库database。

  但我们可以用这个函数更为方便地删除1个database。
  成功返回1个真值,失败,则返回1个false。

  例子:

  <?php

  $connect = mysql_connect("$hostname","$user","$pwd");
  $create = mysql_drop_db("dbtest" , $connect);
  if($create) echo "drop database dbtest successed!";
  else echo "drop database dbtest failed!";

  ?>

  Note : 如用mysql_query()或mysql_db_query(),则SQL语句应为:
  (1)create database dbtest
  (2)drop database dbtest

  (7) 数据库信息函数(2个):

  1、mysql_fetch_field()
  格式:object mysql_fetch_field(int query , int [field_offset]);

  返回1个对象,即一哈希表,下标有:
  table : 表名
  name : 字段名
  max_length : 该字段的最大长度
  not_null : 字段为not null则返回1,否则返回0
  primary_key : 字段为primary key则返回1,否则返回0
  unique_key : 字段为unique key则返回1,否则返回0
  multiple_key : 字段为非unique key则返回1,否则返回0
  numeric : 字段为numeric则返回1,否则返回0
  blob : 字段为blob则返回1,否则返回0
  type : 字段的类型
  unsigned : 字段为unsigned则返回1,否则返回0
  zerofill : 字段为zero filled则返回1,否则返回0

  引用格式为:对象名->下标名

  使用此函数可以得到表名、字段名、类型.......

  例子:

  <?php
  $query = mysql_query($sql , $connect);
  while($object = mysql_fetch_field($query))
  {
  echo "table name : ".$object->table."<br>";
  echo "field name : ".$object->name."<br>";
  echo "primary key : ".$object->primary_key."<br>";
  echo "not null : ".$object->not_null."<br>";
  echo "field type : ".$object->type."<br>";
  echo "field max length : ".$object->max_length."<br>";
  }
  ?>

  Note : 哈希表的是从0坐标开始的,即第一个字段为哈希表中的0项。
  如果我们想直接得到哈希表的第三项即第三个字段的信息,可用如下格式:
  <?php
  $query = mysql_query($sql , $connect);
  $object = mysql_fetch_field($query , 2);
  echo "table name : ".$object->table."<br>";
  echo "field name : ".$object->name."<br>";
  echo "primary key : ".$object->primary_key."<br>";
  echo "not null : ".$object->not_null."<br>";
  echo "field type : ".$object->type."<br>";
  echo "field max length : ".$object->max_length."<br>";
  ?>

  其实这也可以通过下面这个函数来达到同样的目的。

  2、mysql_field_seek()
  格式:int mysql_field_seek(int $query , int field_offset);

  将游标移到指定的字段上。
  例子:

  <?php
  $query = mysql_query($sql , $connect);
  $seek = mysql_field_seek($query , 2);
  $object = mysql_fetch_field($query);
  echo "table name : ".$object->table."<br>";
  echo "field name : ".$object->name."<br>";
  echo "primary key : ".$object->primary_key."<br>";
  echo "not null : ".$object->not_null."<br>";
  echo "field type : ".$object->type."<br>";
  echo "field max length : ".$object->max_length."<br>";
  ?>

  这样也达到与上例同样的要求。

  (8) 取数据库名和表名(2个):

  1、mysql_list_dbs()
  格式: int mysql_list_dbs(int link_identifier);
  取得所有可用的数据库名(database name)。

  例子:

  <?php
  $connect = mysql_connect($host , $usr ,$pwd);
  $dbs = mysql_list_dbs($connect);
  $rows = mysql_num_rows($dbs);
  echo "database total : ".$rows;
  $i = 0;
  while($i<$rows)
  {
  $db_name[$i] = mysql_tablename($dbs , $i);
  echo $db_name[$i];
  $i++;
  }
  ?>
  即可依次显示出MySQL中所有的数据库名字(database name )。
  Note : 相当于MySQL中的 show databases命令

  2、mysql_list_tables()
  格式:int mysql_list_tables(string database name);
  显示该数据库下所有的表的名字Table name。

  例子:

  <?php
  $connect = mysql_connect($host , $usr , $pwd);
  $tables = mysql_list_tables("mysql");
  $rows = mysql_num_rows($tables);
  echo "Table total : ".$rows;
  $i = 0;
  while($i<$rows)
  {
  $table_name[$i] = mysql_tablename($tables , $i);
  echo $table_name[$i];
  $i++;
  }

  ?>

  即可依次显示出mysql下所有的表的名字
  Note : 相当于MySQL中的 show tables命令(先要用 use mysql命令选中1个数据库)

0
相关文章