当前位置: 首页 > news >正文

MySQL————库的操作

1.库的创建

create database [if not exists] db_name [character set utf8mb4];

本质是在/var/lib/mysql创建一个目录。

  • [] 是可选项
  • if not exists:如果系统没有 db_name 的数据库,则创建一个名叫 db_name 的数据库,如果有则不创建。
  • [character set utf8mb4]:如果系统没有 db_test 的数据库,则创建一个使用utf8mb4字符集的 db_test 数据库,如果有则不创建。
  • 说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集 utf8,校验规则是 utf8_ general_ ci。

数据库创建的时候有2个编码集:

  1. 数据库编码集:数据库编码集是数据库存储数据时采用的编码格式;(不同国家使用的语言文字(如中文、英文、日文等)存在差异,数据库编码集为不同国家的字符提供统一的存储规则,确保各国语言数据能被正确保存且不出现乱码。)
  2. 数据库校验集合:支持字段比较的编码规则,本质上也是读取数据时采用的编码格式。

数据库无论对数据做任何操作都必须保证和编码必须是一致的!

使用案例:

  • 创建一个使用utf8字符集的 db2 数据库
create database db2 charset=utf8;
create database db2 character set utf8;
  • 创建一个使用utf字符集,并带校对规则的 db3 数据库。

2.字符集和校验集

2.1 查看系统默认字符集以及校验规则

show variables like 'character_set_database';
show variables like 'collation_database';

2.2 查看数据库支持的字符集

show charset;
显示的字符集主要用于控制数据库支持的语言类型,例如 utf8 字符集就支持中文的使用。

2.3 查看数据库支持的字符集校验规则

show collation;

2.4 校验规则对数据库的影响

2.4.1 不区分大小写

创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
create database test1 collate utf8_general_ci;
use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

进行查询:

结果排序:

2.4.2 区分大小写

创建一个数据库,校验规则使用utf8_ bin[区分大小写]
create database test2 collate utf8_bin;
use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

进行查询:

结果排序:

3.操纵数据库

3.1 查看数据库

show databases;

3.2 查看当前所在数据库

select database();

3.2 删除数据库

drop database [if not exists] db_name;
执行删除之后的结果:
  • 数据库内部将无法查看对应的数据库;
  • 对应的数据库文件夹会被级联删除,其中包含的所有数据表也会被一并移除。
注意:不要随意删除数据库

3.3 修改数据库

对数据库的修改主要指的是修改数据库的字符集、校验规则。

alter database db_name [character=新字符集] [collate 新排列规则];
alter database db_name [character set 新字符集] [collate 新排列规则];

3.4 显示创建语句

show create database 数据库名;

  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字。
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

3.5 备份和恢复

3.5.1 备份

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
示例:将mytest库备份到文件(退出连接)
mysqldump -P3306 -u root -p123456 -B mytest > /mytest.sql

这时,可以打开看看 mytest.sql 文件里的内容,其实它包含了我们创建数据库、建表以及导入数据的所有语句。

3.5.2 还原

3.5.2.1 还原前准备
  • 确认备份文件位置
  • 检查备份文件完整性(可通过cat 文件名预览内容)
3.5.2.2 还原步骤

方法 1:手动指定数据库(适用于普通备份文件)

1.创建并选择目标数据库

-- 创建数据库(若不存在)
CREATE DATABASE IF NOT EXISTS test1;-- 选择要操作的数据库
USE test1;

2.执行还原命令

source /path/test1.sql;

方法 2:直接还原(适用于带数据库定义的备份文件)

若备份时使用--databases参数(如mysqldump --databases test1 > test1.sql),文件中已包含CREATE DATABASE和USE语句,可直接执行:

source /path/test1.sql;

3.5.3 注意事项

如果备份的不是整个数据库,而是其中的一张表,怎么做?
mysqldump -u root -p 数据库名 表名1 表名2 > /path/mytest1.sql
同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

3.6 查看连接情况

show processlist;

http://www.dtcms.com/a/457193.html

相关文章:

  • Hugging face下载模型错误:401 Client Error: Unauthorized for url
  • 安装系统进阶专题(中)
  • 济南网站建设(力推聚搜网络)北京上地做网站
  • TortoiseSVN下载安装汉化教程(附安装包)
  • 泰安网站建设价格长治公司网站建设
  • (六)Vuex
  • 【代码】P6283 [USACO20OPEN] The Moo Particle S [思维]
  • linux信号(14)——SIGALRM:从“手机闹钟”看SIGALRM:进程的非阻塞定时神器
  • AJAX JSON 实例
  • 昆山做网站费用做精美得ppt网站知乎
  • 聊聊[自己制作手机 之 特别注意事项]
  • 量子通信:从“不可克隆”到“可证明安全”的信息传递新范式
  • 国内外主流的免费计算资源平台
  • XQuery 术语详解
  • 如何快速建一个网站网站内容建设的原则
  • AI 生态平台化加速
  • 【ThreeJs】【性能优化】从渲染底层到业务逻辑的系统性提速方案
  • C++ STL 向量(vector)学习笔记:从基础到实战
  • 营销网站html中国菲律宾最新消息
  • Spring Boot Web环境测试配置
  • Java SpringMVC(一) --- 建立连接,请求,获取Cookie,Session,Header
  • 【传奇开心果系列】基于Flet框架实现的允许加载本地图片的圆形头像自定义组件模板特色和实现原理深度解析
  • 大模型——ChatGPT 变身 App Store,对话即应用的时代到了
  • leetcode 70.爬楼梯
  • 【LeetCode 热题 100】No.283—— 移动零
  • 旅游景点网站策划书香河住房与建设局网站
  • jvm双亲委派的含义
  • 【linux内核驱动day06-I2C】
  • Photoshop - Photoshop 工具栏(10)透视裁剪工具
  • 一种基于 RK3568+AI 的国产化充电桩安全智能交互终端的设计与实现,终端支持各种复杂的交互功能和实时数据处理需求