一. 创建数据库
[]代表可选项。
IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。
<数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,注意在 MySQL 中不区分大小写。
[DEFAULT] CHARACTER SET:指定数据库的默认字符集。
[DEFAULT] COLLATE:指定字符集的默认校对规则。校对规则是在字符集内用于字符比较和排序的一套规则,比如有的规则区分大小写,有的则无视。校对规则以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束
1.1 查看当前字符集和校对规则
show variables like 'collation_%';
1.2 数据库创建语法:
CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];
1.3 简单的创建数据库
CREATE DATABASE test_db;
CREATE DATABASE IF NOT EXISTS test_db;
1.4 创建时指定字符集和校验规则
CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 查看定义
SHOW CREATE DATABASE test_db_char;
二、查看数据库
1.1 查看所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| atmuser |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_db |
| test_db_char |
+--------------------+
7 rows in set (0.00 sec)
1.2 模糊查询数据库
SHOW DATABASES [LIKE '数据库名'];
# 用‘%’进行模糊查询,如:%test%,查询中间包含test字符的数据库,%test,查询以test结尾的数据库
e.g.
mysql> show databases like 'test%'; +------------------+ | Database (test%) | +------------------+ | test_db | | test_db_char | +------------------+
三、修改数据库
1.1 语法:
ALTER DATABASE 用于更改数据库的全局特性。这些特性存储在数据库目录的 db.opt 文件中。
使用 ALTER DATABASE 需要获得数据库 ALTER 权限。
数据库名称可以忽略,此时语句对应于默认数据库。
CHARACTER SET 子句用于更改默认的数据库字符集。
ALTER DATABASE [数据库名] { [ DEFAULT ] CHARACTER SET <字符集名> | [ DEFAULT ] COLLATE <校对规则名>}