查看所有数据库
语句形式:
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 数据库名。