查看所有数据库

语句形式:

show databases;

一个错误提示:

mysql> show sdatabases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sdatabases' at line 1
mysql>

创建新数据库

语句形式:create database 数据库名 [charset 字符集名称] [collate 校对规则名];

mysql> create database demo charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| demodatabase       |
| mysql              |
| performance_schema |
| test               |
+--------------------+
6 rows in set (0.00 sec)

字符集名类似这些: utf8, gbk, gb2312, big5, ascii等。推荐用utf8。

校对规则名:通常都不用写,而是使用所设定字符集的默认校对规则。

校对规则的含义:

  • 就是一个字符集中的每个字符的“排序规则”;
  • 对于英文,很简单,就是按英文单词的字母顺序。
  • 对于中文,或其他一些亚洲语言,就会面临问题:两个字的顺序,到底谁先谁后(谁大谁小)呢?
  • 比如:“传”和“智”,有这样的可能排序方式:
  • 按拼音:“传”在前(更小),“智”在后(更大);
  • 按笔顺(横竖撇捺折):“智”在前(更小),“传”在后(更大);
  • 按编码:肯定一个大一个小(具体未知)。

查看可用的字符集:

show charset;

查看可用的校对规则:

show collation;

查看数据库创建信息

语句形式:show create database 数据库名;

mysql> show create database demoDatabase;
+--------------+-----------------------------------------------------------------------+
| Database     | Create Database                                                       |
+--------------+-----------------------------------------------------------------------+
| demodatabase | CREATE DATABASE `demodatabase` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+--------------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

结果其实就是能看到指定数据的完整创建语句(含默认值的选项,比如charset,collate)。

删除现有数据库

语句形式:drop database 数据库名;

mysql> drop database demo;
Query OK, 2 rows affected (0.08 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demodatabase       |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

修改现有数据库

修改数据库,其实只是修改数据库的字符编码或校对规则。其实一般都不需要修改。

语句形式:alter database 数据库名 charset 新的字符集名称 collate 新的校对规则名;

mysql> alter database demoDatabase charset gbk;
Query OK, 1 row affected (0.01 sec)

mysql> show create database demoDatabase;
+--------------+----------------------------------------------------------------------+
| Database     | Create Database                                                      |
+--------------+----------------------------------------------------------------------+
| demodatabase | CREATE DATABASE `demodatabase` /*!40100 DEFAULT CHARACTER SET gbk */ |
+--------------+----------------------------------------------------------------------+
1 row in set (0.00 sec)

选择(使用)某个数据库

一个项目中,具体进行有关数据操作(增删改查)之前,都需要先“选择/进入”该数据库。

语句形式:use 数据库名;

mysql> use demo;
Database changed

总结有关数据库的常规操作:

  • 创建数据库:create database 数据库名 charset 编码名(推荐utf8);
  • 显示所有数据库:show databases ;
  • 显示某个数据库的创建语句:show create database 数据库名;
  • 删除数据库:drop database 数据库名;
  • 修改某个数据库(的字符集和排序规则):alter database 数据库名 charset 新字符集名称 collate 新校对规则名;
  • 使用(进入/选择)数据库:use 数据库名。