03 MySQL数据库操作:创建、删除、修改、数据库的备份与还原
DDL(Data Definition Language),数据定义语言,该语言部分包括以下内容
-
对数据库的常用操作
-
对表结构的常用操作
-
修改表结构
可以在命令行里面进行如下的操作;也可以在Navicat图形化工具中操作
创建数据库
create database 数据库名 [库选项]
例如:
create database 数据库名称 charset 字符集名称
create database users charset gbk;
字符集:charset 字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集,默认是DBMS
校对集:collate 校对集
每当用户通过SQL指令创建一个数据库,那么系统就会产生一个与之相对应的存储数据的文件夹(data),一般会在安装的mysql目录中的data文件夹中
并且,每一个数据库文件夹中,总会有一个 db.opt 文件,里面就保存了相关的数据库选项
显示数据库
显示全部
// 显示全部
show databases;
显示部分数据库 like
show databases like '匹配模式'
_ : 匹配当期位置单个字符
%: 匹配指定位置多个字符
// 例如:
// 获取以my开头的全部数据库
show databases like 'my%';
// 获取m开头,最后为database的数据库
show databases like 'm_databse'
// 获取databse结尾的数据库
show databases like '%database'
选择数据库
指定对应的数据库
use 数据库名称
修改数据库编码
一般是修改数据库的库选项(字符集、校对集),数据库名称一般不修改
alter database 数据库名称 charset='字符集'
alter database mydb1 character set utf8;
删除数据库
drop database 数据库名称
删除数据库以后,其对应的存储数据的文件夹也会被删除
数据库的备份与还原
整库数据备份也叫sql数据备份:备份的结果都是sql指令
sql备份不仅仅备份数据,还备份对应的sql指令(表结构):即使数据库被删除了,也可以利用sql备份很好的还原
sql备份因为可以同时备份数据和结构,所以产出的备份文件都很大,因此sql备份不适合特大型数据库的备份,也不适合数据频繁变化的数据库的备份
在mysql中提供了一个专门用于备份sql的客户端:mysqldump.exe
D:\mysql-8.2.0-winx64\bin\mysqldump.exe
数据库的备份
也可以使用 navcat直接备份和还原
-- 语法
-- 进入目录中 D:\mysql-8.2.0-winx64\bin\
-- 表可以不写,如果不写的话,默认就是整个数据库的备份
mysqldump/mysqldump -hPup 数据库名称 [表1 [表2..]] > 备份文件地址
-- 备份整个数据库
mysqldump -hlocalhost -P3306 -uroot -proot mydb > D:/mysql-8.2.0-winx64/beifen/mydb.sql
-- -- 备份整个数据库 等价于 简写
mysqldump -uroot -proot mydb > D:/mysql-8.2.0-winx64/beifen/mydb2.sql
数据的还原
必须提前指定某一个数据库
方式一:利用mysql.exe客户端:在没有登录之前,可以直接利用该客户端还原数据
mysql -uroot -proot 数据库名 < sql文件的位置
-- 还原数据库mydb2
mysql -uroot -proot mydb2 < D:/mysql-8.2.0-winx64/beifen/mydb2.sql
方式二:采用导入sql指令的方式
source sql文件的位置