使用SQL操作MySQL数据库


  本文标签:SQL语句 GREATE SHOW DROP MySQL操作 MySQL数据库

  从本节开始正式介绍各种SQL语句  。本节介绍有关数据库级的SQL以及相关操作,查看、建立和删除等操作  。

  用SHOW显示已有的数据库

  句法:SHOW DATABASES [LIKE wild]

  如果使用LIKE wild部分,wild字符串可以是一个使用SQL的“%”和“_”通配符的字符串  。

  功能:SHOW DATABASES列出在MySQL服务器主机上的数据库  。

  你可以尝试下面举例,观察输出结果,例如:

  mysql>show databases;

  +----------+

  | Database |

  +----------+

  | first    |

  | mysql    |

  | mytest   |

  | test     |

  | test1    |

  +----------+

  mysql>show databases like ‘my%’;

  +----------------+

  | Database (my%) |

  +----------------+

  | mysql          |

  | mytest         |

  +----------------+

  用mysqlshow程序也可以得到已有数据库列表  。

  用Create Dabase 创建数据库

  句法:CREATE DATABASE db_name

  功能:CREATE DATABASE用给定的名字创建一个数据库  。

  如果数据库已经存在,发生一个错误  。

  在MySQL中的数据库实现成包含对应数据库中表的文件的目录  。因为数据库在初始创建时没有任何表,CREATE DATABASE语句只是在MySQL数据目录下面创建一个目录  。

  例如:

  mysql>create database myfirst;

  然后利用show databases观察效果  。

  用DROP DATABASE删除数据库

  句法:DROP DATABASE [IF EXISTS] db_name

  功能:DROP DATABASE删除数据库中的所有表和数据库  。要小心地使用这个命令!

  DROP DATABASE返回从数据库目录被删除的文件的数目  。通常,这3倍于表的数量,因为每张表对应于一个“.MYD”文件、一个“.MYI”文件和一个“.frm”文件  。

  在MySQL 3.22或以后版本中,你可以使用关键词IF EXISTS阻止一个错误的发生,如果数据库不存在  。

  使用mysqladmin工具创建和删除

  在命令行环境下可以使用mysqladmin创建和删除数据库  。

  创建数据库:

  shell> mysqladmin create db_name

  删除数据库:

  shell> mysqladmin drop db_name

  如果出现下面的错误:

mysqladmin: connect to server at localhost failed
error: Access denied for user: root@localhost (Using password: YES)

  表示你需要一个可以正常连接的用户,请指定-u -p选项,具体方法与3.2节介绍相同,在第七章中你将会学到用户授权的知识  。

  直接在数据库目录中创建或删除

  用上述方法创建数据库,只是MySQL数据目录下面创建一个与数据库同名目录,同样删除数据库是把这个目录删除  。

  所以,你可以直接这么做,创建或删除数据库,或者给数据库更名  。这对备份和恢复备份有一定意义  。

  用USE选用数据库

  句法:USE db_name

  USE db_name语句告诉MySQL使用db_name数据库作为随后的查询的缺省数据库  。数据库保持到会话结束,或发出另外一个USE语句:

mysql> USE db1;
mysql> SELECT count(*) FROM mytable;      # selects from db1.mytable
mysql> USE db2;
mysql> SELECT count(*) FROM mytable;      # selects from db2.mytable

  如果你不是用USE语句,那么上面的例子应该写成:

mysql> SELECT count(*) FROM db1.mytable;
mysql> SELECT count(*) FROM db2.mytable;

  由于use也是一个mysql客户程序的命令,所以你可以在命令行最后不加分号,客户程序可以得到结果  。

  总结

  本节介绍了有关数据库操作的SQL语句、实用程序,其中包括:

  SQL语句:CREATE/DROP DATABASE,SHOW DATABASES,USE

  程序mysqladmin

  直接创建或删除数据库的目录