MySQL入门学习-数据库基本操作

《MySQL入门学习-环境搭建》中,我们已经成功的安装了MySQL,并且学习了常用的MySQL操作命令,下面我们来学习关于数据库的基本操作。

1 查看当前数据库

执行以下命令,可以查看当前MySQL中所拥有的全部数据库

1
mysql> SHOW DATABASES;

上面这条命令等价于

1
mysql> SHOW SCHEMAS;

在MySQL中, SCHEMAS 等价于 DATABASES。

当然,我们也可以查看当前MySQL中名字符合某个规则的数据库,此时,我们按照以下的格式执行即可.

1
mysql> SHOW DATABASES [LIKE 'pattern' | WHERE expr];

注意:上面这条命令中,中括号 [] 括起来的表示是可选的,根据需要而出现。

2 默认数据库

通过上面的命令,我们可以知道刚安装好的MySQL会有四个默认创建好了的数据库,他们的名字以及相关作用是:

数据库 作用
infomation_schema 虚拟库,保存当前MySQL服务器已有数据库和表的统计信息,不占用物理磁盘空间,其内的数据保存在系统内存里。
mysql 授权库,保存用户的授权信息,占用物理磁盘空间。
perfomance_schema 保存数据库服务器运行时的运行参数,占用物理磁盘空间
test 公共库,任意一个用户连接到数据库服务器后,对此库都拥有完全权限,占用物理磁盘空间。

2.1 infomation_schema 中的数据表说明

infomation_schema 中会有很多的数据表,我们一起来看下这个数据库中部分数据表的作用:

  • SCHEMATA表 : 提供了当前mysql实例中所有数据库的信息。我们执行 SHOW DATABASES; 的结果就是取自此表。
  • TABLES表 : 提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。我们执行 SHOW TABLES FROM {数据库名称}; 的结果就是取自此表。
  • COLUMNS表 : 提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。我们执行 SHOW COLUMNS FROM {数据库名称}.{数据表名称}; 的结果就是取自此表。
  • STATISTICS表 : 提供了关于表索引的信息。我们执行 SHOW INDEX FROM {数据库名称}.{数据表名称}; 的结果就是取自此表。
  • USER_PRIVILEGES(用户权限)表 :给出了关于所有用户权限的信息。该信息源自mysql.user授权表。是非标准表。
  • SCHEMA_PRIVILEGES(方案权限)表 :给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
  • TABLE_PRIVILEGES(表权限)表 :给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
  • COLUMN_PRIVILEGES(列权限)表 :给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
  • CHARACTER_SETS(字符集)表 :提供了mysql实例可用字符集的信息。我们执行 SHOW CHARACTER SET; 结果集就是取自此表。
  • COLLATIONS表 :提供了关于各字符集的对照信息。
  • COLLATION_CHARACTER_SET_APPLICABILITY表 :指明了可用于校对的字符集。这些列等效于 SHOW COLLATION 的前两个显示字段。
  • TABLE_CONSTRAINTS表 :描述了存在约束的表。以及表的约束类型。
  • KEY_COLUMN_USAGE表 :描述了具有约束的键列。
  • ROUTINES表 :提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。
  • VIEWS表 :给出了关于数据库中的视图的信息。需要有 SHOW VIEWS 权限,否则无法查看视图信息。
  • TRIGGERS表 :提供了关于触发程序的信息。必须有super权限才能查看该表

3 查看当前所使用的数据库

通过以下命令,我们可以查到当前我们正在使用的数据库

1
mysql> SELECT DATABASE();

4 创建数据库

通过以下命令,我们可以创建一个新的数据库

1
mysql> CREATE DATABASE [IF NOT EXISTS] {数据库名称} [DEFAULT] CHARACTER SET = [字符集名称]

例如,我们要创建一个名字为 xiaoxuetu 的数据库:

1
mysql> CREATE DATABASE xiaoxuetu;

如果我们要创建一个名字为 xiaoxuetu 并且 字符编码为 UTF8 的数据库:

1
mysql> CREATE DATABASE IF NOT EXISTS xiaoxuetu DEFAULT CHARACTER SET = UTF8;

5 修改数据库

执行以下命令可以更新数据库的全局特性, 目前在MySQL中,只能用于修改数据库字符集和校对规则名称:

1
2
3
mysql> ALTER DATABASE {数据库名称}
[DEFAULT] CHARACTER SET {字符集名称}
|[DEFAULT] COLLATE {校对规则名称}

关于这方面,大家可以直接参考:http://www.kuqin.com/mysql5.1_doc/charset.html

6 删除数据库

通过以下命令,我们可以删除一个已经存在的数据库

1
mysql> DROP DATABASE [IF EXISTS] {数据库名称};



1、本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

2、转载请在评论处说明并且注明出处:http://xiaoxuetu.github.io , 谢谢合作 !