目录
前言
本文介绍MySQL相关的库操作
一、创建一个数据库
语法:
bash
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET charset_name //字符集规则
[DEFAULT] COLLATE collation_name //字符校验集规则
说明:
①大写的部分是关键字
②[]中的内容表示可选项
③CHARACTER SET:指定数据库字符集规则
④COLLATE: 指定数据库字符集的校验规则
注意:MySQL的指令要以英文的分号作为结尾。
cpp
//查看现有数据库指令
show databases;
图1 创建一个数据库实例
二、库的编码规则
1.查看MySQL的默认字符集、校验集
cpp
show variables like 'character_set_database';
show variables like 'collation_database';
图2 查看默认字符集与校验集
2.查看MySQL支持的所有字符集与校验集
cpp
//查看全部MySQL支持的字符集与校验集
//字符集
show chatset;
//校验集
show collation;
图3 查看MySQL支持的字符集与校验集
3.校验集对MySQL的影响
以utf8为例:
校验集utf8_general_ci(不区分大小写)、校验集utf_bin(区分大小写)
补充几个与表有关的指令:
cpp
use [数据库的名字] //进入该数据库
create table [表的名字]([列名][数据类型]) //创建一个表
show tables; //展示该数据库中的表
insert into [表的名字] values([要赋予的值]); //向表中插入一个数据
desc [表的名字] //查看表的信息
图4 创建分别使用utf8_bin、utf8_general_ci作为校验集的库
图5 进入其中的一个库并创建一个表
图6 向表中插入数据并查找符合要求的行
图7 查看两个表的结果
图8 建立的表与各级的关系
三、操作数据库
1.查看数据库
cpp
show databases;
图9 查看数据库
2.显示创建语句
创建语句就是创建某已知数据库的等效语句。
cpp
show create database [数据库名称];
图10 查看创建语句
3.修改数据库
数据库的修改操作一般认为是对数据库字符集和字符校验集的修改,数据库的名字一般是禁止修改的,因为在工程中,会有相关的程序与数据库名字相绑定,一旦修改数据库名字会令程序找不到对应数据库,为了禁止这种情况,MySQL不提供更改数据库名字的方法。
cpp
ALTER DATABASE db_name [alter_spacification] ...
alter_spacification:
[DEFAULT] CHARACTER SET charset_name //修改字符集
[DEFAULT] COLLATE collation_name //修改校验集
图11 alter修改数据库
4.数据库的删除
cpp
drop database [数据库的名称]
图12 删除数据库
5.数据库的备份与还原
cpp
mysqldump -P3306 -u root -p -B 数据库名 > 备份文件存储路径; //备份整个数据库
mysqldump -u root -p 数据库名 表名1 表名2 > 备份文件存储路径; //备份数据库中的表
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 备份文件存储路径; //备份多个数据库
source 备份文件存储路径; //恢复备份内容
图13 备份数据库
我们看看生成的备份文件里有什么 :
图14 生成的备份文件内容
不难发现,其中有我们曾将插入到数据库的数据,实际上,这里面存储的就是我们之前对这个备份库的所有操作,如果要将这个库还原,实际上就是让MySQL在按照我们之前创建库所执行的程序在走一遍,当然其中省略去了一些不必要或者可优化的步骤。
图15 数据库的恢复
6.查看数据库的连接
MySQL开放链接查询实际上一种安全策略,当数据库所有这发现未知连接的时候,可以及时发现数据库被入侵并展开防御手段降低损失。
cpp
show processlist;
图16 查看连接情况