MySQL 库的操作 -- 增删改查,备份和恢复,系统编码

文章目录

库的操作增删改查

  1. 进入数据库的目录
cpp 复制代码
cd /var/lib/mysql
免密码登录数据库
mysql -u root -p

数据库的查看和创建

  1. 查看数据库和创建数据库
cpp 复制代码
show databases;
create database helloworld;
create database [if not exists] 数据库名
如果不存在就创建数据库
创建数据库,本质就是在/var/lib/mysql中创建目录
删除数据库,就是删除目录


查看当前位于哪个数据库中

  1. 查看当前位于哪个数据库中

数据库的删除

  1. 删除数据库
    执行删除之后的结果:

  2. 数据库内部看不到对应的数据库

  3. 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
    注意:不要随意删除数据库

cpp 复制代码
drop database [if not exists] database1;

总结

总结

5. 也可以在Linux层创建数据库和删除数据库,但是一定不要这么干


6. 用if not exitsts选项 创建一个已经存在的数据库(我们会发现它报警告warning)

显示数据库的创建语句

  1. 显示创建语句 show create database 数据库名;

    数据库名字的反引号''是为了防止使用的数据库名刚好是关键字,/*!40100 default... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

修改数据库

  1. 修改数据库是修改它的字符集和效验规则
cpp 复制代码
alter database 数据库名 charset=utf8
alter database 数据库名 character set utf8

认识系统编码

数据库的编码问题

  1. 创建数据库的时候有两个编码集:
    <> 数据库编码集:数据库未来的存储数据
    <> 数据库效验集:支持数据库进行字段比较使用的编码,本质也是读取数据库中数据采用的编码格式

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

查看系统默认的字符集和效验规则

cpp 复制代码
show variables like 'character_set_database';
// 字符集,存的方式
show variables like 'collation_database';
// 效验规则,取的方式
  1. 我们可以不只是看database,还可以看connect(连接)和server(服务)
  2. 查看数据库支持的字符集和字符集校验规则
cpp 复制代码
show charset
cpp 复制代码
show collation;
  1. 创建数据库案例
cpp 复制代码
create database db1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci

  • 创建一个名为db2且字符集为utf8的数据库
cpp 复制代码
create database db2 charset = utf8
  • 另一种写法
cpp 复制代码
create database db2 character set utf8
  • 创建一个名为db2且字符集为utf8的数据库并且指明校验规则
cpp 复制代码
create database db2 charset=utf8 collate utf8_ general_ ci
  • 查看字符集及编码规则

校验规则对数据库的影响

  • 不区分大小的编码规则,utf8_general_ci
cpp 复制代码
use test1 // 进入数据库
create table person(name varchar(20));// 创建表
insert into person(name) values('a');// 插入数据
insert into person(name) values('A');
insert into person(name) values('B');
insert into person(name) values('b');
select * from person where name = 'a';
// 查询a是不区分大小写的
  • 查询a是不区分大小写的


  • utf8_bin是区分大小写的

  • 查看表结构的详细信息

cpp 复制代码
desc person;

数据库的备份和恢复

备份

cpp 复制代码
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
mysqldump -P3306 -u root -p -B test1 > test1.sql

这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

cpp 复制代码
vim test1.sql

还原

一台机器的数据库还原到另一台机器上

cpp 复制代码
mysql> source root/test1.sql;

把test1删除再还原,它会把备份文件中的sql语句都跑一遍

备份的是一张表

cpp 复制代码
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

同时备份的是多个数据库

cpp 复制代码
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

带上-B其实是在test1.sql文件中多了一条创建数据库的指令

  1. 加上-B是因为在备份的同时又创建了一个新的数据库并把数据放入到新的数据库中

    不加-B需要我们手动创建一个新的数据库

  2. 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据

    库,再使用source来还原。

查看数据库的连接情况

cpp 复制代码
show processlist;


可以查看当前有多少人连接了我的数据库

相关推荐
惜分飞20 分钟前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle
chian-ocean20 分钟前
CANN 生态进阶:利用 `profiling-tools` 优化模型性能
数据库·mysql
那个村的李富贵2 小时前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann
游戏开发爱好者82 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
王码码20352 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
黑码哥3 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
亓才孓3 小时前
[JDBC]元数据
android
独行soc3 小时前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
金融RPA机器人丨实在智能3 小时前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
科技块儿3 小时前
利用IP查询在智慧城市交通信号系统中的应用探索
android·tcp/ip·智慧城市