目录
创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [[DEFAULT] CHARSET=charset_name] [[DEFAULT] COLLATE=collation_name];
- CHARSET:指定数据库所采用的编码格式。
- COLLATE:指定数据库所采用的校验规则。
案例:
采用默认的编码格式和校验规则创建名为 db1 的数据库
CREATE database db1;
注:默认的编码格式是utf8,默认的校验规则是utf8_general_ci。
创建一个使用utf8字符集的 db2 数据库
create database db2 charset=utf8;
创建一个使用utf字符集,并带校对规则的 db3 数据库
create database db3 charset=utf8 collate utf8_general_ci;
字符集和校验规则
查看系统默认字符集以及校验规则
show charset
查看数据库支持的字符集校验规则
show collation;
查看数据库默认的字符集校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
校验规则与字符集对数据库的影响
校验规则会数据比较和排序的结果。如**utf8_general_ci 不区分大小写
** ,utf8_bin
区分大小写。在进行**ORDER BY
** 语句排序、WHERE
条件筛选、**DISTINCT
、GROUP BY
、HAVING
**语句查询时,校验规则都会起作用。
操作数据库
查看数据库
我们可以使用 show databases 查看所有数据库:
显示创建语句
show create database 数据库名;
我们可以看到显示出的创建语句与我们创建时的不同,实际上在服务端MYSQL会对我们的SQL进行优化。
- MySQL 建议我们关键字使用大写,但是不是必须的。
- 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
- /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
修改数据库
ALTER DATABASE db_name [[DEFAULT] CHARSET=character_name] [[DEFAULT] COLLATE=collation_name];
对数据库的修改主要是修改数据库的字符集或校验规则。
示例:将 db1 数据库字符集改成 gbk
删除数据库
DROP DATABASE [IF EXISTS] db_name;
删除数据库后,该数据库下的所有表也都会被级联删除。
数据库的备份与恢复
备份:
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
还原:
source 数据库备份存储的文件路径;
这里的备份实际上是将关于该库的创建数据库,建表,导入数据的语句都装载文件中,恢复实际上就是再执行一次所有语句。
表的备份与恢复
备份:
mysqldump -u root -p 数据库名 表名1 表名2 > 文件路径
恢复:
source 表备份存储的文件路径