MySQL库的操作

目录

前言

一、创建一个数据库

二、库的编码规则

1.查看MySQL的默认字符集、校验集

2.查看MySQL支持的所有字符集与校验集

3.校验集对MySQL的影响

三、操作数据库

1.查看数据库

2.显示创建语句

3.修改数据库

4.数据库的删除

5.数据库的备份与还原

6.查看数据库的连接


前言

本文介绍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 查看连接情况

相关推荐
probex_4 小时前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库
用户3074596982075 小时前
MySQL EXPLAIN 零基础完全精通指南:从"看不懂"到"会优化"
mysql
Patrick在香港5 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
这个DBA有点耶5 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
迷茫的大专生5 小时前
高可用总结
redis·mysql·nginx·高可用
老纪的技术唠嗑局6 小时前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
Data_Journal6 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
白远山7 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ7 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
迷茫的大专生7 小时前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive