【MySQL】-- 库的操作
文章目录
- 1. 查看数据库
- 1.1 语法
- 2. 创建数据库
- 2.1 语法
- 2.2 示例
- 2.2.1 创建一个名为java114的数据库
- 2.2.2 创建数据库java114,如果数据库不存在则创建
- 2.2.3 查看警告信息
- 3. 字符集编码和校验(排序)规则
- 3.1 查看数据库支持的字符集编码
- 3.2 查看数据库支持的排序规则
- 3.3 不同的字符集与排序规则对数据库的影响
- 3.4 查看系统默认字符集和排序规则
- 4. 查看创建语句
- 4.1 语法
- 4.2 示例
- 5. 修改数据库
- 5.1 语法
- 5.2 示例
- 6. 删除数据库
- 6.1 语法
- 6.2 示例
- 6.3 注意事项
1. 查看数据库
1.1 语法
显示所有的数据库:
show databases;
- databases是负数形式。
- 大小写不敏感。
在这里插入代码片
- 分号是每天SQL语句的结尾。
一旦删除,可能MySQL就启动不起来了,因为MySQL启动之后会有一些数据在MySQL数据库里面,比如设置的用户密码。
其中上图中的6 rows in set
表示六行结果集的意思,其中set就是表示结果集的意思;(0.00 sec)
表示的是当前SQL语句的执行时间,0.00表示的是10ms(毫秒)之内。
2. 创建数据库
2.1 语法
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}
}
• 大写部分表示关键字
• db_name:表示自定义的数据库名
• {}⼤插号表⽰必须选
• | 表示任选其中⼀个
• []中括号表示是可选项
• CHARACTER SET:指定数据库采⽤的字符集编码
• COLLATE:指定数据库字符集的校验规则
• ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项
2.2 示例
2.2.1 创建一个名为java114的数据库
mysql> create database java114;
Query OK, 1 row affected (0.01 sec)
2.2.2 创建数据库java114,如果数据库不存在则创建
mysql> create database if not exists java114;
Query OK, 1 row affected, 1 warning (0.00 sec)
2.2.3 查看警告信息
mysql> show warnings;
+-------+------+--------------------------------------------------+
| Level | Code | Message |
+-------+------+--------------------------------------------------+
| Note | 1007 | Can't create database 'java114'; database exists |
+-------+------+--------------------------------------------------+
1 row in set (0.00 sec)
提示:名为java114的数据库已存在。
不加if not exists,如果数据库存在,程序就会报错,程序就会停下来。建议将这条语句加上,防止整个SQL文件中的语句的运行。
3. 字符集编码和校验(排序)规则
字符集编码是为数据进行编码,然后保存。
校验规则也叫排序规则,指的是如何对数据进行排序。
3.1 查看数据库支持的字符集编码
1 show charset;
• MySQL8.0默认的字符集编码是 utf8mb4 ,MySQL5.7默认的字符集是 latin1
英文和数字使用一个字节保存;
中文和标点使用 不确定个字节保存。
3.2 查看数据库支持的排序规则
show collation;
• MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci , MySQL5.7默认排序规则是utf8mb4_general_ci。
一条完整规范的建库语句:create database if not exists java114 character set utf8mb4 collate utf8mb4_0900_ai_ci;
强烈建议在创建数据库的时候按照完整规范创建,来确保当前数据库不管在哪一台服务器上,它都是按照我规定的字符集和排序规则去创建一个新的数据库,而不去依赖对方服务器的配置。
3.3 不同的字符集与排序规则对数据库的影响
• utf8mb4_0900_ai_ci
是MySQL8.0引⼊的新规则,在⽼版本中不能识别;
• utf8mb4 编码是对 Unicode 字符集的⼀种实现,⽤1到4个字节表⽰⼀个字符,可以表⽰世界上⼏乎所有的字符,⽽且更节少空间
• 0900 是基于 UCA 9.0.0算法,UCA是Unicode Collation Algorithm的缩写,内部算法的编号。
• ai是Accent-insensitive的缩写,表示口音不敏感
• ci是Case-insensitive的缩写,表示大小写不敏感
• as是Accent-sensitive的缩写,表示口音敏感
• cs是Case-sensitive的缩写,表示大小写敏感
• bin表⽰⼆进制
在学习完排序之后,可以通过⽰例观察不同排序规则对于⼤⼩写的影响
3.4 查看系统默认字符集和排序规则
# 查看默认字符集
mysql> show variables like '%character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value|
+--------------------------+---------------------------------------------------------+
| character_set_client | gbk|
| character_set_connection | gbk|
| character_set_database | utf8mb4|
| character_set_filesystem | binary|
| character_set_results | gbk |
| character_set_server | utf8mb4|
| character_set_system | utf8mb3|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)
# 查看系统默认排序规则
mysql> show variables like '%collation%';
+-------------------------------+--------------------+
| Variable_name | Value |
+-------------------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_0900_ai_ci |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------+
4 rows in set, 1 warning (0.00 sec)
4. 查看创建语句
4.1 语法
查看创建数据库的SQL语句:
1 show create database db_name;
4.2 示例
mysql> show create database java114;
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database|
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| java114 | CREATE DATABASE `java114` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
• /!40100 default… / 和/!80016 DEFAULT…/ 这个不是注释,表⽰当前mysql版本⼤于4.01和8.0.16时,分别执⾏对应的语句
5. 修改数据库
5.1 语法
ALTER {DATABASE | SCHEMA} [db_name]alter_option ...
alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}
对数据库的修改主要是修改数据库的字符集,校验规则。
小技巧:选中要粘贴的内容–>鼠标右键–> 鼠标放到需要粘贴到的地方–> 鼠标右键
5.2 示例
• 将test+班级名的数据库字符集改成gbk
mysql> alter database test001 character set gbk;
Query OK, 1 row affected (0.01 sec)
mysql> show create database test001;
+----------+-------------------------------------------------------------------
-------------
| Database | Create Database +----------+-------------------------------------------------------------------
-------------
| java01 | CREATE DATABASE `test001` /*!40100 DEFAULT CHARACTER SET gbk */
/*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------
-------------
1 row in set (0.00 sec)
6. 删除数据库
6.1 语法
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
6.2 示例
mysql> drop database testdb;
Query OK, 0 rows affected (0.04 sec)
6.3 注意事项
• 删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除。
• 删除数据库之后,使⽤show databases; 语句查看不到对应的数据库。
• 删除一个不存在的数据库,会报错误,后面的SQL语句会中断执行,推荐加上if exists条件。
• 删除数据库是⼀个非常非常非常危险操作,在公司中做项目千万不要删除数据库!!!
如果公司中有需要让我们执行drop操作,我们应该怎么做?
把领导拉过来一起做这个事,如果领导不来,最起码要找一个同事。
在服务器(一般是Linux系统)上没有回收站,删了就删了,删除本身这个事,并不是说删了就找不到了,删除的过程只是在原来的数据位置做了覆盖操作。
如果说要恢复数据,必须要用到专业的磁盘恢复工具,如果恢复工具也 没有办法恢复,那么就需要寄回厂商进行恢复。
数据库本身在运维的过程中,也会定期的做一些备份操作。
全量备份+增量备份=所有数据
相关文章:

【MySQL】-- 库的操作
文章目录 1. 查看数据库1.1 语法 2. 创建数据库2.1 语法2.2 示例2.2.1 创建一个名为java114的数据库2.2.2 创建数据库java114,如果数据库不存在则创建2.2.3 查看警告信息 3. 字符集编码和校验(排序)规则3.1 查看数据库支持的字符集编码3.2 查…...

linux桌面软件(wps)内嵌到主窗口后的关闭问题
程序测试环境是:slackware系统,属于linux系统,有桌面(Xface Session)。系统镜像是:slackware64-15.0-install-dvd.iso。qt、c代码实现。 问题描述:延续上一篇文章,将wps软件窗口内嵌…...

WindowsTerminal 美化-壁纸随机更换
目录 一. 相关网址二. 壁纸随机更换思路三. 指定 WindowsTermina 壁纸路径四. 编写脚本,随机替换壁纸4.1 powershell脚本4.2 .bat批处理脚本 四. 配置定时任务,添加触发器五. 效果 一. 相关网址 官方下载 Windows Terminal 官方Github微软商店 美化 Oh …...
iOS 多次获取图片主题色不一样
一个需求中,要求获取图片的主题色 代码如下 -(void)kk_getImage:(UIImage *)image fetchthemeColor:(void(^)(UIColor *color))callBack {dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{// 第一步 先把图片缩小 加快计算速度.…...

UE5 武器IK瞄准系统
创建空项目 创建基础蓝图类My_GameMode,My_HUD,My_PlayChar,My_PlayController 项目设置地图模式 近裁平面 0.1 My_PlayChar蓝图中添加摄像机,角色骨骼网格体,武器骨骼网格体 编辑角色骨骼,预览控制器使用特定动画,动画选择ANM_ark-47-Idle hand_r 添加插槽WeaponMes…...

①EtherCAT转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 EtherCAT 转 ModbusTCP GW系列型号 MS-GW15 简介 MS-GW15 是 EtherCAT 和 Modbus TCP 协议转换网关,为用户提供一种 …...
在macOS上进行开发环境配置与应用开发详细的配置指南
在macOS上进行开发环境配置与应用开发,需要遵循一系列步骤来确保你的开发环境既高效又稳定。以下是一个详细的配置指南,涵盖了从安装基本工具到创建应用的整个过程。 1. 安装和更新macOS 首先,确保你的macOS是最新版本。更新系统可以提供更…...
JavaScript 事件处理基础
在网页中添加事件监听器,可以通过JavaScript代码来实现。 要处理用户的交互事件,需要先选择要添加事件监听器的元素,可以使用document.querySelector()或document.getElementById()等方法来获取元素。 然后,使用addEventListene…...

WordPress响应式Git主题响应式CMS主题模板
兼容 IE9、谷歌 Chrome 、火狐 Firefox 等主流浏览器 扁平化的设计加响应式布局,兼容电脑、和各个尺寸手机的完美响应 主题设置面板新增多种AD位,PC端和移动设备各不相同 在主题设置选项中就可以进行基本的SEO设置:首页、分类、文章等页面…...

Solidity 设计模式:实现灵活与可扩展的智能合约架构
Solidity 作为以太坊智能合约的主要编程语言,拥有许多独特的设计模式,这些模式帮助开发者实现更加灵活、可扩展和安全的合约架构。设计模式不仅能够简化开发过程,还能减少常见的编程错误,并提高智能合约的可维护性和可升级性。本文…...

房屋水电费:重新布局,重构JS代码
<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>房租水电费</title><script type"…...
Jmeter生成JWT token
JWT简介 JWT官网:https://jwt.io/ JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑而自包含的方式,用于在各方之间以JSON对象的形式安全地传输信息。此信息可以验证和信任&#x…...
STM32的ADC技术详解
ADC(Analog-to-Digital Converter,模数转换器) 是将连续的模拟信号转换为离散的数字信号的关键组件。在STM32系列微控制器中,ADC广泛应用于传感器数据采集、信号处理和控制系统等领域。本文将详细介绍STM32的ADC技术,包…...
PySpark把一列数据上下移动,时序数据
在Pandas中,我们用.shift()把数据框上下移动。 在 PySpark 中,确实存在一个类似于 Pandas 中 shift 函数的功能,它被称为 shiftleft 函数。这个函数用于将给定的值向左移动指定的位数。不过,这与 Pandas 中的 shift 函数有所不同…...

网络基础 【HTTPS】
💓博主CSDN主页:麻辣韭菜💓 ⏩专栏分类:Linux初窥门径⏪ 🚚代码仓库:Linux代码练习🚚 💻操作环境: CentOS 7.6 华为云远程服务器 🌹关注我🫵带你学习更多Linux知识…...

51单片机的红外感应洗手器【proteus仿真+程序+报告+原理图+演示视频】
1、主要功能 该系统由AT89C51/STC89C52单片机红外感应传感器继电器LED等模块构成。适用于智能红外感应自动洗手器等相似项目。 可实现功能: 1、红外感应传感器实时检测是否有人体接近(距离小于20cm) 2、如果有人靠近,继电器自动闭合&#…...

【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
序言: 本文详细讲解了关于鸿蒙系统学习中的模块化语法与自定义组件,在模块化语法中我们学习到了多种导入导出方式,实现了在一个项目中,通过引用不同的组件,让我们整体代码的可读性更强,相当于我们把一个手…...
Angular 客户端渲染时,从 ng-state 里读取 SSR 状态的具体逻辑
Angular 在客户端启动时,如何检测页面中的 ng-state 标签并从中读取 JSON 对象,进而还原应用的状态,是服务器端渲染(SSR)与客户端渲染(CSR)无缝衔接的核心环节之一。为了理解这个过程࿰…...
C++的联合体union
联合体有点像class类型或者struct类型,只不过它一次只占用一个成员的内存。 通常我们有一个结构体,声明了4个浮点数,那么结构体中就有4*416字节。当我们不断向类或者结构体中添加成员时,其大小也会不断增大。 union只有一个成员…...
JavaScript 中的变量作用域
JavaScript 中的变量作用域 在 JavaScript 中,理解变量作用域是非常重要的,它决定了变量的可见性和生命周期。本文将深入探讨 JavaScript 中的变量作用域,帮助你更好地掌握这一关键概念。 一、什么是变量作用域? 变量作用域指的…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...