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

【MySQL】MySQL库的操作

目录

  • 创建数据库
  • 字符集和效验规则
    • 查看系统默认字符集和效验规则
    • 查看数据库支持的字符集
    • 查看数据库支持的字符集效验规则
    • 字符集对数据库的影响
  • 操纵数据库
    • 查看数据库
    • 显示创建语句
    • 修改数据库
    • 数据库删除
    • 总结
  • 数据库的备份和恢复
    • 备份
    • 恢复
    • 注意事项
  • 查看数据库的连接情况

创建数据库

创建名字为test1的数据库

create database test1;

在这里插入图片描述
创建一个使用utf8字符集的test2数据库

create database test2 charset=utf8;

在这里插入图片描述
创建一个使用utf字符集,并带校对规则的 test3 数据库。

create database test3 charset=utf8 collate utf8_general_ci;

在这里插入图片描述

字符集和效验规则

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

  1. 数据库编码集:数据库未来存储数据
  2. 数据库效验集:支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式。

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

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

在/var/lib/mysql目录下我们创建的数据库是一个目录文件,而创建完数据库后默认有一个文件,这个文件里面放的就是系统默认的字符集和效验规则db.opt。(我之前该过test1的字符集,其实默认是utf8)
在这里插入图片描述

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

在这里插入图片描述

查看数据库支持的字符集

show charset;

在这里插入图片描述

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

show collation;

在这里插入图片描述

字符集对数据库的影响

创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
创建一个数据库,校验规则使用utf8_ bin[区分大小写]
比如创建上面两个库,我们如果进行库的排序就会发现,第一个库a、A就会排在一起,第二个库a、A,A一定在前。

操纵数据库

查看数据库

show databases;

在这里插入图片描述

显示创建语句

show create database test1;

在这里插入图片描述

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

修改数据库

修改数据库修改的主要是字符集,效验规则!(不建议修改数据库名)

alter database test1 charset=gbk;

在这里插入图片描述

数据库删除

drop database test3;

在这里插入图片描述
不建议随意对库执行删除操作,一旦删除就可能无法恢复了!

总结

创建数据库 create database db_name; — 本质就是在/var/lib/mysql创建一个目录
删除数据库 drop database db_name; — 删除目录

数据库的备份和恢复

备份

语法

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

示例:

 mysqldump -P3306 -uroot -p -B test1 > test1.sql

在这里插入图片描述
打开这个表,我们会发现这个表中的内容都是我们之前创建库进行的各种操作。
在这里插入图片描述

恢复

source /root/MYSQL/test1.sql

在这里插入图片描述

注意事项

备份表

mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

备份多个库

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。

查看数据库的连接情况

show processlist;

在这里插入图片描述
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构基础讲解(七)——数组和广义表专项练习
  • 哈希表,算法
  • ECMAScript与JavaScript的区别:深入解析与代码示例
  • 【基础算法总结】二分查找
  • 算法练习题19——leetcode141环形链表
  • 基于51单片机的智能农业滴灌控制系统proteus仿真
  • 鸿蒙OS开发秘籍:打造优雅的登录状态管理系统
  • ai绘图软件哪个好用?解锁5款小白必备工具
  • Git的基本概念和使用方式
  • shader 案例学习笔记之绘制圆
  • springboot属性加载优先级和常见命令行属性
  • 一个Java中有用的JacksonUtil类
  • 【重点】(非常全) Node.js的生态有哪些包
  • C语言代码练习(第十九天)
  • StarRocks Lakehouse 快速入门——Apache Iceberg
  • [译]Python中的类属性与实例属性的区别
  • 【comparator, comparable】小总结
  • C学习-枚举(九)
  • JavaScript-Array类型
  • Laravel5.4 Queues队列学习
  • Linux各目录及每个目录的详细介绍
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nginx 负载服务器优化
  • Python socket服务器端、客户端传送信息
  • Redis在Web项目中的应用与实践
  • 从0实现一个tiny react(三)生命周期
  • 跨域
  • 深入浏览器事件循环的本质
  • 我的面试准备过程--容器(更新中)
  • 用jquery写贪吃蛇
  • 用jQuery怎么做到前后端分离
  • ​ubuntu下安装kvm虚拟机
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (175)FPGA门控时钟技术
  • (2022 CVPR) Unbiased Teacher v2
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (十三)Flask之特殊装饰器详解
  • (十一)图像的罗伯特梯度锐化
  • (四)软件性能测试
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .apk文件,IIS不支持下载解决
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core 中的路径问题
  • .NET Micro Framework初体验
  • .NET MVC 验证码
  • .NET Reactor简单使用教程
  • .net 生成二级域名
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net开发引用程序集提示没有强名称的解决办法