【MySQL】基础SQL语句——库的操作
文章目录
- 一. 创建数据库
- 1.1 基础语句
- 1.2 字符集和校验规则
- 1.3 校验规则对读取数据的影响
- 二. 查看数据库
- 三. 修改数据库
- 四. 删除数据库及备份
- 4.1 删除
- 4.2 备份和还原
- 结束语
一. 创建数据库
1.1 基础语句
最简洁的创建数据库的SQL语句是:
create database db_name;
db_name是数据库的名称
创建一个数据库,本质是在MySQL配置文件中默认的存放资源的文件中创建目录
/etc/my.cnf
是MySQL的配置文件
默认存放资源的路径是/var/lib/mysql
所以,如果我们使用MySQL创建一个database1的数据库,那么相应的,在/var/lib/mysql/中就会创建一个database1的目录
接下来,介绍创建数据库的选项
create database
if not exists
db_name;
使用create database db_name重复创建数据库,结果如下:
使用create database if not exists db_name,结果如下:
如果使用第一种SQL语句重复创建,结果是报错
如果使用第二种SQL语句重复创建,则会忽略创建语句,不会报错
实际工作中,建议使用create database if not exists db_name 创建数据库
创建数据库时,还可以指明使用的字符集
和校验规则
create database db_name
charset=utf8
collate=utf8_general_ci
character-set
,即charset
,是数据存放入数据库时使用的字符集
collation
,是数据取出时使用的校验规则
同样可以在配置文件/etc/my.cnf
中配置默认使用的字符集和检验规则
1.2 字符集和校验规则
- 字符集
字符集是一套用于表示和处理文本数据的编码规则。在MySQL中,字符集用于定义存储,传输和处理数据时所使用的字符集合。常见的字符集包括UTF8,GBK等。字符集主要是控制使用什么语言,比如UTF8可以使用中文 - 检验规则
校验规则用于定义字符集中每个字符的排序规则,决定了字符比较,排序和匹配方式。例如,在排序时是按照字母的先后顺序进行排序,还是按照字母的笔画数进行排序
查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database;'
注意单引号
查看数据库支持的字符集或校验规则
show charset;
show collation;
1.3 校验规则对读取数据的影响
UTF8_general_ci【不区分大小写】
UTF8_bin【区分大小写】
分别使用这两种校验规则创建两个数据库test1和test2,并建立一样的表,插入一样的数据
以下是test1的操作,test2操作相同
是否区分大小写,会导致不同的查询结果和排序结果
-
查询
-
排序
二. 查看数据库
show databases;
查看所有数据库
show create database db_name
显示创建语句
- MySQL建议关键字使用大写,但是不是必须的
- 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字
- /*!40100 default … */ 不是注释,其含义是,如果当前MySQl版本大于4.01版本,则会执行这句语句
三. 修改数据库
alter database db_name
其后跟修改的字符集或者校验规则
比如将test1数据库的字符集和校验规则修改为gbk
PS:十分不建议rename数据库,重命名数据库。原先可以rename,但之后删除了这个语句。
因为可能还有用户在使用该数据库,一旦重命名,将无法使用,上层调用接口等也将失效
四. 删除数据库及备份
4.1 删除
删除数据库的操作很简单
drop database if exists db_name
但是一旦删除数据库
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部都被删除
建议先备份
,再删除
4.2 备份和还原
备份
备份的工具是在安装MySQL的同时安装的——mysqldump
使用命名:
mysqldump -P 3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
-P 3306选项是连接的mysqld服务器的端口号
-u root 选项是登录的用户
-p 密码 选项是输入密码
-B 数据库 选项是指定数据库
这个文件内部是对该数据库使用的所有SQL语句,包括创建数据库,使用,创建表,插入数据等
还原
还原是在mysql中执行的
source 文件路径;
如果只想要备份数据库中的一个表
mysqldump -P 3306 -u root -p 密码 -B 数据库名 表 > 备份的文件路径
同时备份多个数据库
mysqldump -P 3306 -u root -p 密码 -B 数据库1 数据库2 > 存储路径(文件)
PS:如果备份时没有带上-B选项,那么在恢复数据库时,要先建立空的数据库,然后使用数据库,再source还原
show processlist
查看连接情况
可以告诉我们当前有哪些用户用户连接到我们的MySQL,如果查出某个用户不是正常登录的,很有可能你的数据库被人入侵了,如果自己的数据库比较慢时,可以使用这个指令查看数据库的连接情况
结束语
感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
相关文章:

【MySQL】基础SQL语句——库的操作
文章目录 一. 创建数据库1.1 基础语句1.2 字符集和校验规则1.3 校验规则对读取数据的影响 二. 查看数据库三. 修改数据库四. 删除数据库及备份4.1 删除4.2 备份和还原 结束语 一. 创建数据库 1.1 基础语句 最简洁的创建数据库的SQL语句是: create database db_nam…...

基于YOLOv8模型的海洋生物目标检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOv8模型的海洋生物目标检测系统可用于日常生活中检测与定位海洋生物目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训…...

华为星闪联盟:引领无线通信技术创新的先锋
星闪(NearLink),是由华为倡导并发起的新一代无线短距通信技术,它从零到一全新设计,是为了满足万物互联时代个性化、多样化的极致、创新体验需求而诞生的。这项技术汇聚了中国300多家头部企业和机构的集体智慧ÿ…...

炒期权的资金门槛是多少 ?
期权是一种合约,买方向卖方支付一定费用后有权利在特定的时间,以特定的价格买入或卖出一定数量的特定资产,卖方需履行相应义务,期权开户支持线上和零门槛开头,下文介绍炒期权的资金门槛是多少 ?本文来自:期…...

matlab根轨迹绘制
绘制根轨迹目的就是改变系统的闭环极点,使得系统由不稳定变为稳定或者使得稳定的系统变得更加稳定。 在使用PID控制器的时候,首先要确定的参数是Kp,画成框图的形式如下: 也就是想要知道Kp对系统性能有哪些影响,此时就…...

Vue错误记录
文章目录 1. 项目build的时候报错Warning: Accessing non-existent property cat of module exports inside circular dependency2. WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not …...

Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改
要修改SSH的显示样式,您可以使用自定义的PS1(提示字符串1)变量来更改命令行提示符的外观。在您的情况下,您想要的格式似乎包括日期和时间,以及当前目录。以下是一个示例PS1设置,可以实现您所描述的样式&…...
day40 设计模式、jdk8新特性
一、代理模式 为其他对象提供一种代理控制此对象的访问 若一个对象不适合直接引用另一个对象, 代理对象在客户端和目标对象之间起到中介作用 组成: 抽象角色:通过接口 抽象类 真实角色实现了哪些方法 代理角色:实现抽象角色…...

【数据结构】链表C++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点
// 引入标准输入输出流库,用于输出操作 #include <iostream> // 引入标准库中的stdlib,包含了rand()函数和其他相关函数 #include <cstdlib> // 引入标准库中的time,包含了time()函数和其他相关函数 #include <ctim…...

浏览器面试题
浏览器面试题 1.常见的浏览器内核有哪些?2.浏览器的主要组成部分有哪些?3.说一说从输入URL到页面呈现发生了什么?4.浏览器重绘域重排的区别?5.CSS加载会阻塞DOM吗?6.JS会阻塞页面吗?7.说一说浏览器的缓存机…...
Java Controller层异常处理示例【含面试题】
AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI…...

通过Git Bash将本地文件上传到本地github
1. 新建一个仓库( Repository) 1.1登录Github,点击个人头像,点击Your repositories,点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦!…...

继承的笔记
继承 对象代表什么, 就得封装对应的数据, 并提供数据对应的行为 对于两种不同的类, 但是具有很多共同的属性的时候我们就想着用继承, 我们可以将共同的属性放置在一个类中, 然后, 只需要新建两个类, 继承共有的类, 然后单独写自己的属性特点 继承类 Java 中提供了一个关键字…...
Android7.1 ROOT权限的获取
修改文件: system/extras/su/su.c system/core/include/private/android_filesystem_config.h system/core/libcutils/fs_config.c frameworks/base/core/jni/com_android_internal_os_Zygote.cpp frameworks/base/cmds/app_process/app_main.cpp device/qcom…...

几个好用的数据标注软件labelme、CVAT及LabelImage
我们使用yolov3、yolov4、yolov5、yolov8等训练自己的权重时,需要有大量标注好的数据集,这里有几个好用的数据标注软件labelme、CVAT及LabelImage 一、labelme labelme:https://github.com/wkentaro/labelme 这个软件用的比较多,…...

VSCode学习笔记一:添加代码模板
一目了然 1 简述2 设置模板3 Global Snippets file示例 1 简述 问:为什么要设置代码模板? 答:编程语言是有个性的,不同语言的演讲风格是不一样的。 旁白:我不懂?! 问:为什么要设置…...

Linux下修改jar包中的配置文件application.conf
文件位置 jar包文件工程目录 打包后解压jar包目录 提取和上传 jar tf XXX.jar # 获取包内文件 application.conf是jar包的配置文件,如果修改需要 提取文件 jar xf my-app.jar application.conf 修改后上传文件 jar uf my-app.jar application.conf...

【python绘图—colorbar操作学习】
文章目录 Colorbar的作用Colorbar的操作截取cmap拼接cmap双刻度列colorbar 引用 Colorbar的作用 Colorbar(颜色条)在绘图中的作用非常重要,它主要用于以下几个方面: 表示数据范围: Colorbar可以显示图中的颜色映射范围…...

Python+Appium自动化测试-编写自动化脚本
之前已经讲述怎样手动使用appium-desktop启动测试机上的app,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 Python3.7 appium1.18.0 Android手机 今日头条…...

AMEYA360|ROHM罗姆首次推出硅电容器BTD1RVFL系列
全球知名半导体制造商ROHM(总部位于日本京都市)新开发出在智能手机和可穿戴设备等领域应用日益广泛的硅电容器。利用ROHM多年来积累的硅半导体加工技术,新产品同时实现了更小的尺寸和更高的性能。 随着智能手机等应用的功能增加和性能提升,业界对于支持更…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...