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;


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

相关推荐
阿巴斯甜4 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker4 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95275 小时前
Andorid Google 登录接入文档
android
黄林晴6 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab19 小时前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_1 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android