【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 existsdb_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=utf8collate=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多年来积累的硅半导体加工技术,新产品同时实现了更小的尺寸和更高的性能。 随着智能手机等应用的功能增加和性能提升,业界对于支持更…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...







