MySQL --- 库的操作

一、创建数据库

create database [ if not exists ] 数据库名; // []中的为可选项

在创建库时,也可以指定数据库采用的字符集(character set)和数据库字符集的校验规则(collate)

(当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci,或者在配置文件中进行设置,在Linux中配置文件路径一般为 /etc/my.cnf,这样创建的数据库就会遵循配置文件中的选项)

字符集(Character Set)

字符集定义了数据库中可以存储哪些字符以及这些字符如何编码。每个字符集都包含了特定语言或符号的字符及其对应的编码。例如,utf8 字符集支持 Unicode 标准中的多语言字符,包括英文字符、中文、日文、韩文等。latin1(或称为 iso8859-1)则主要用于西欧语言。

字符集的选择直接影响到数据的存储效率和准确性。选择不恰当的字符集可能会导致数据丢失(例如,使用不支持中文的字符集存储中文字符)或存储效率低下(例如,使用utf8mb4存储纯英文文本,而latin1已足够)。

校验规则(Collation)

校验规则定义了字符集中字符的比较和排序规则。在同一字符集下,可以存在多种不同的校验规则。这些规则决定了字符的比较是基于二进制值、是否区分大小写、是否区分重音符号等。

  • show variables like 'character_set_database'; // 查看系统默认字符集
  • show variables like 'collation_database'; // 查看系统默认的校验规则
  • show charset; // 显示系统支持的字符集
  • show collation; // 显示系统支持的字符集校验规则

二、显示数据库

show databases; // 显示数据库

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

说明:

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

三、修改数据库

alter database 数据库名 字符集 校验规则;

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

四、删除数据库

 drop database [if exists] 数据库名;

 

五、备份和恢复

1、备份

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

说明:

  • -P 端口号  ,即mysql服务器进程对应的端口号
  • -u 用户名
  • -p 密码
  • -B 数据库名

形成的文件中保存的是我们创建数据库的语句,也就是说当我们去还原数据库时,本质就是将这些语句重新执行一遍

2、恢复

source 备份的文件路径 ;

 从上面我们也能看出,恢复时,只是在执行创建数据库时的各种语句。

如果我们只要备份数据库的其中一张/多张表

mysqldump -P3306 -u root -p 数据库名 表1 表2 .... > 数据库备份存储的文件路径;

 如果我们要备份多个数据库

mysqldump -P3306 -u root -p -B 数据库1 数据库2 ... > 数据库备份存储的文件路径;

注意:-B选项的作用在于备份数据库时,备份文件中有创建数据库的语句,所以在恢复时,直接source就行,否则就需要先创建数据库,在使用数据库(即执行 use 数据库名),再进行source。 

六、查看连接情况

show processlist;

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/381710.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运行 npm install 报错-4048

我在已经开发中的项目,执行 npm install 命令时,出现报错: 并且之前在帖子中提到的报错类型还不一样(帖子内容如下): 运行 npm run dev 总报错_运行npm run dev报错-CSDN博客 该报错内容主要为权限导致的&…

华清数据结构day5 24-7-22

1>使用栈,完成进制转换输入:一个整数,进制数输出:该数的对应的进制数 seqstack.h #ifndef SEQSTACK_H #define SEQSTACK_H #define MAX 10 #include"myhead.h" typedef int datatype;typedef struct {datatype *d…

Nginx详解(超级详细)

目录 Nginx简介 1. 为什么使用Nginx 2. 安装Nginx Nginx的核心功能 1. Nginx反向代理功能 2. Nginx的负载均衡 3 Nginx动静分离 Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协…

OpenCV分水岭算法watershed函数的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 我们将学会使用基于标记的分水岭算法来进行图像分割。我们将看到:watershed()函数的用法。 任何灰度图像都可以被视为一个地形表…

199.二叉树的右视图(BFS)

给定一个二叉树的根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 解题…

centos/Ubuntu安装Java/Maven

上图就是今天在Linux环境下安装好Java和Maven后,打包Spring Boot项目的截图! 安装Java centos # 安装 yum install -y java-1.8.0-openjdk*# 查看版本检测是否成功安装 java -versionUbuntu # 更新软件包 sudo apt-get update# 安装 sudo apt-get in…

4.Java Web开发模式(javaBean+servlet+MVC)

Java Web开发模式 一、Java Web开发模式 1.javaBean简介 JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。名称中…

Java之 jvm

jvm之管理内存 程序计数器:当前线程所执行的字节码的行号指示器。程序计数器是唯一一个不会出现 OutOfMemoryError 的内存区域,它的生命周期随着线程的创建而创建,随着线程的结束而死亡。Java虚拟机栈 方法调用 一个方法调用都会有对应的栈帧…

set(集合),multiset容器及pair队组的创建

1.set的基本概念:所有元素再插入时自动按升序排序,set/multiset属于关联式容器,底层结构是用二叉树实现的 set与multiset区别: set中不允许容器中有重复的元素 multiset允许容器中有重复的元素 2.set的构造函数 3.set的大小和…

MT6701磁编码IC在自动化插件流水线中的应用

艾毕胜马达控制平台专家 MT6701磁编码IC作为现代工业自动化领域的重要组成部分,其在自动化插件流水线中的应用日益广泛。本文将从MT6701磁编码IC的特性、工作原理、在自动化插件流水线中的具体应用、以及未来的发展趋势等方面,详细探讨其在工业自动化领…

Apache POI-Excel入门与实战

目录 一、了解Apache POI 1.1 什么是Apache POI 1.2 为什么要使用ApaChe POI 1.3 Apache POI应用场景 1.4 Apache POI 依赖 二、Apache POI-Excel 入门案例 2.1 写入Excel文件 2.2 读取文件 四、Apache POI实战 4.1 创建一个获取天气的API 4.2高德天气请求API与响应…

volatile,最轻量的同步机制

目录 一、volatile 二、如何使用? 三、volatile关键字能代替synchronized关键字吗? 四、总结: 还是老样子,先来看一段代码: 我们先由我们自己的常规思路分析一下代码:子线程中,一直循环&…

小技巧:如何在已知PDF密码情况下去掉PDF的密码保护

第一步,用Edge打开你的pdf,输入密码进去 第二步,点击打印 第三步,选择导出PDF,选择彩印 第四步,选择导出位置,导出成功后打开发现没有密码限制了!

物联网mqtt网关搭建背后的技术原理

前言 物联网是现在比较热门的软件领域,众多物联网厂商都有自己的物联网平台,而物联网平台其中一个核心的模块就是Mqtt网关。这篇文章的目的是手把手教大家写书写一个mqtt网关,后端存储支持Kafka/Pulsar,支持mqtt 连接、断链、发送…

DevExpress中文教程 - 如何在.NET MAUI应用中实现Material Design 3?

DevExpress .NET MAUI多平台应用UI组件库提供了用于Android和iOS移动开发的高性能UI组件,该组件库包括数据网格、图表、调度程序、数据编辑器、CollectionView和选项卡组件等。 获取DevExpress v24.1正式版下载 Material Design是一个由Google开发的跨平台指南系统…

计算机毕业设计hadoop+spark+hive物流大数据分析平台 仓储数据分析 物流预测系统 物流信息爬虫 物流大数据 机器学习 深度学习 知识图谱 大数据

Hadoop物流可视化系统的开题报告 一、课题名称 Hadoop物流可视化系统设计与实现 二、研究背景与意义 随着信息技术的飞速发展,物流行业产生了海量的数据,这些数据包含了订单信息、运输路线、仓储状态等丰富的信息和价值。然而,传统的数据…

谷粒商城实战笔记-44-前端基础-Vue-整合ElementUI快速开发/设置模板代码

文章目录 一,安装导入ElementUI1,安装 element-ui2,导入 element-ui 二,ElementUI 实战1,将 App.vue 改为 element-ui 中的后台布局2,开发导航栏2.1 开发MyTable组件2.2 注册路由2.3 改造App.vue2.4 新增左…

AV1技术学习:Coding Structure

一、SuperBlock SuperBlock 是AV1编解码器可以处理的最大编码块。SuperBlock 大小可以是128 128 或64 64,由 sequence header 控制。SuperBlock 可以进一步划分为更小的编码块,每个编码块都有自己的预测和变换模式。SuperBlock 编码只依赖于它的上侧和…

【jmeter边界值提取器】

【目的】 从响应头中取token的内容 【方案】 使用后置处理器-边界值提取器 【组件路径】HTTP请求->右键添加->后置处理器->边界提取器 用途:边界提取器(Boundary Extractor)是放在Sample请求之后执行的,用于获取左右边界中间的所有字符&#xf…

Anaconda下安装配置Jupyter

Anaconda下安装配置Jupyter 1、安装 conda activate my_env #激活虚拟环境 pip install jupyter #安装 jupyter notebook --generate-config #生成配置文件提示配置文件的位置: Writing default config to: /root/.jupyter/jupyter_notebook_config.py检查版本&am…