初识MySQL · 库的操作

目录

前言:

有关编码


前言:

由前文可得,MySQL是目前主流的数据库,mysql是客户端,mysqld是一种网络服务,mysqld是一种数据库服务,而对于数据库来说,是一种存储数据、组织数据的一种手段,那么我们肯定就是要学数据库是如何操作的?对于数据库我们应该如何增删查改?删除了如何备份等问题。

那么就随着博主的脚步,进入到今天的主题吧!


增加数据库,也就是创建数据库,现在我们先进入到数据库:

使用指令sudo mysql -uroot即可进入,进入之后,我们现在尝试创建一个数据库,基本语法为:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

我们在第一章已经创建过了,这里简单顺便简单回忆一下:

展现数据库是使用show databases,随即我们使用指令create database db_name; 创建了数据库。

其中大写的表示关键字,所以CREATE代表的是create,[]里面的代表是可选项,比如if not exists:

我们虽然是创建成功了,但是也有警告,因为这里已经存在了的数据库,所以不会重新创建新表,报了个警告直接返回了就。

那么下面的两个,就涉及到了编码了。

有关编码

在MySQL里面,存在两种编码,一种是字符集,一种是字符集的校验规则,比如我们在vs2022常用的字符集就是utf-8,偶尔会有utf-16的,这是用于存储,也就是数据库采用的一种存储方式。那么校验规则就是对该套字符集的一种校验,不同的校验规则有不同的方式去校验,我们一会儿可以看看。

那么我们不妨指定一下字符集和校验规则,说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci,查看对应的字符集和校验规则是show charset; show collation;

我们创建一个字符集为utf8的数据库:

创建一个字符集为utf8 校验规则为utf8_general_ci的数据库:

因为我这里是ubuntu环境,所以有些告警。

这些是默认的配置,而utf8mb4是utf8的扩展,所以会有些告警,但是不影响。

我们不妨验证一下不同的校验规则的影响是什么:

都使用utf8的字符集,这个使用校验规则utf8_general_ci,特点是不区分大小写:

这个使用utf8_bin,区分大小写:

插入对应数据,插入完毕之后,我们进行查询:

使用select * from person查询该表的所有结果,这是test,utf8_general_ci的,不区分大小写。

对于test2,区分大小写的,所以查询,只能查到一个b,没有B。

那么对于数据库来说,我们还可以进行排序:

这是test1的:

这是test2的:

那么以上是创建数据库以及数据库中的两种规则。


删除还是有点说法的,我们在数据库基础部分,知道了创建数据库的本质就是创建目录:

在/var/lib/mysql的目录下,我们就可以可以看到某些蓝色的目录,其中test1 test2就是我们创建的数据库,那么我们删除数据库,是否可以直接在这里面删除呢

删除肯定是可以的,但是非常非常不推荐这种删除方式,实在是太业余了的感觉。

删除使用的sql语句是drop:

这样就删除了。

那么对于数据如何备份,这里给个链接,同学们自行查阅哦~

超详细讲解:数据库的备份与数据恢复方法举例与说明(完全备份、差异备份、增量备份)_举例说明增量备份-CSDN博客


对于查找这个功能来说,我们可以查数据库,也可以查数据库中的表:

使用的sql语句都是show …,比如show databases; show tables;等。

那么同样,我们也可以show创建语句,而这里和我们平常变成时候不一样的是/**/并不是注释,而是表示如果mysql的版本大于4.0.1的话,就执行这条语句,比如CHARAVTER SET就代表存储的字符集是utf8mb3,其中的’test1’是为了防止数据库名刚好是关键字。

其实当们修改一下数据库的字符集,里面的utf8mb3就会变成我们修改之后的了。


我们拿查的例子来举例,我们先将数据库的字符集修改一下,修改为gbk:

确实就修改完毕了。

对于改来说,对应的sql语句就是alter。

当然了,可以改字符集,也可以改校验规则。

这里就留给同学们自己尝试啦。


感谢阅读!

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

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

相关文章

Idea创建JDK17的maven项目失败

Idea创建JDK17的maven项目失败 Error occurred during initialization of VM Could not find agent library instrument on the library path, with error: Can’t find dependent libraries Possible solution: Check your maven runner VM options. Open Maven Runner setti…

Go-知识 模板

Go-知识 模板 1. 介绍2. Text/template 包3. Html/template 包4. 模板语法4.1 模板标签4.2 添加注释4.3 访问变量4.4 访问方法4.5 模板变量4.6 访问函数4.7 数据渲染4.8 条件判断4.9 循环遍历4.10 嵌入子模板4.11 局部变量4.12 输出字符串4.13 预定义的全局函数4.14 比较函数 1…

优化租赁小程序提升服务效率与用户体验的策略与实践

内容概要 在这个快速发展的商业环境中,租赁小程序成为了提升服务效率和用户体验的重要工具。通过对用户需求的深入挖掘,我们发现他们对于功能的便捷性、响应速度和界面的友好性有着极高的期待。因此,针对这些需求,完善租赁小程序…

基础数据结构--二叉树

一、二叉树的定义 二叉树是 n( n > 0 ) 个结点组成的有限集合,这个集合要么是空集(当 n 等于 0 时),要么是由一个根结点和两棵互不相交的二叉树组成。其中这两棵互不相交的二叉树被称为根结点的左子树和右子树。 如图所示&am…

shell学习变量(二)

这里写目录标题 一、概念1、环境变量2、本地变量3、系统变量 二、环境变量三、本地变量四、系统变量五、定义变量规则1、命名规则2、定义方式3、unset命令:删除变量 一、概念 1、环境变量 环境变量指的是再当前进程有效,并且能够被子进程调用&#xff…

自动驾驶3D目标检测综述(六)

停更了好久终于回来了(其实是因为博主去备考期末了hh) 这一篇接着(五)的第七章开始讲述第八章的内容。第八章主要介绍的是三维目标检测的高效标签。 目录 第八章 三维目标检测高效标签 一、域适应 (一)…

如何恢复永久删除的PPT文件?查看数据恢复教程!

可以恢复永久删除的PPT文件吗? Microsoft PowerPoint应用程序是一种应用广泛的演示程序,在人们的日常生活中经常使用。商人、官员、学生等在学习和工作中会使用PowerPoint做报告和演示。PowerPoint在人们的学习和工作生活中占主导地位,每天都…

四大自平衡树对比:AVL树、红黑树、B树与B+树

AVL树、红黑树、B树和B树的对比与应用场景 树系列相关文章(置顶) 1、从链表到平衡树:二叉查找树的退化与优化 2、自平衡二叉查找树:如何让二叉查找树始终保持高效 3、AVL树入门:理解自平衡二叉查找树的基础 4、红黑树全…

IOS safari 播放 mp4 遇到的坎儿

起因 事情的起因是调试 IOS 手机下播放服务器接口返回的 mp4 文件流失败。对于没调试过移动端和 Safari 的我来说着实费了些功夫,网上和AI也没有讲明白。好在最终大概理清楚了,在这里整理出来供有缘人参考。 问题 因为直接用 IOS 手机的浏览器打开页面…

Kubernetes Gateway API-2-跨命名空间路由

1 跨命名空间路由 Gateway API 具有跨命名空间路由的核心支持。当多个用户或团队共享底层网络基础设施时,这很有用,但必须对控制和配置进行分段,以尽量减少访问和容错域。 Gateway 和 Route(HTTPRoute,TCPRoute,GRPCRoute) 可以部署到不同的命名空间中,路由可以跨命名空间…

第十六届蓝桥杯模拟赛(第一期)(C语言)

判断质因数 如果一个数p是个质数,同时又是整数a的约数,则p称为a的一个质因数。 请问2024有多少个质因数。 了解 约数,又称因数。整数a整除整数b,b为a的因数(约数)质数,又称素数。只有1和它本身两…

AI安全的挑战:如何让人工智能变得更加可信

引言 随着人工智能(AI)技术在各个领域的广泛应用,尤其是在医疗、金融、自动驾驶和智能制造等行业,AI正在重塑我们的工作和生活方式。从提高生产效率到实现个性化服务,AI带来了前所未有的便利。然而,在享受这…

TiDB 的MPP架构概述

MPP架构介绍: 如图,TiDB Server 作为协调者,首先 TiDB Server 会把每个TiFlash 拥有的region 会在TiFlash上做交换,让表连接在一个TiFlash上。另外 TiFlash会作为计算节点,每个TiFlash都负责数据交换,表连接…

springboot499基于javaweb的城乡居民基本医疗信息管理系统(论文+源码)_kaic

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

【SQL Server】教材数据库(1)

1 利用sql建立教材数据库,并定义以下基本表: 学生(学号,年龄,性别,系名) 教材(编号,书名,出版社编号,价格) 订购(学号…

RT-Thread中堆和栈怎么跟单片机内存相联系

现在RT-ThreadMCU的应用方式越来越普遍,RT-Thread需要配置MCU中的RAM到的系统中,进入系统内存管理,才能提供给基于实时系统的应用程序使用,比如给应用程序提供malloc、free等函数调用功能。在嵌入式软件开发中,我们经常…

Linux硬盘分区 --- fdisk命令MBR分区、添加硬盘、lsblk命令

一、MBR分区 如果想对硬盘进行分区可以使用“ fdisk ”命令,它会采用MBR格式将硬盘进行分区。MBR是传统的分区机制,支持 32 位和 64 位系统,最多只能创建 4 个主分区,或者 3 个主分区和 1 个扩展分区,只支持不超过 2T…

GraphRAG 框架哪家强?选择最适合你智能问答系统的框架

GraphRAG 框架哪家强?选择最适合你智能问答系统的框架 点击进入:GraphRAG系列文章-Nano-GraphRAG:打造轻量级医疗诊断助手 点击进入:GraphRAG系列文章-突破传统知识管理瓶颈:LlamaIndex GraphRAG 让企业知识问答更智能…

day-102 二进制矩阵中的最短路径

思路 BFS 解题过程 从起点依次向八个方向尝试(之后也一样),如果某个位置在矩阵内且值为0且没有访问过,将其添加到一个队列中,依次类推,直到到达出口 Code class Solution {public int shortestPathBinar…

vue3学习笔记(10)-$subscribe,store组合式写法

1.$subscribe订阅,监视vuex中数据得修改 2.localStorage里面穿的都是字符串,关掉浏览器数据还在 只能获取字符串,用ts语法写明,作为字符串使用 3.组合式写法