MySQL基础操作

ops/2024/12/23 4:37:07/

前言👀~

结束了java数据结构篇章,紧接着来到MySQL的学习喽~

如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各位评论纠正 🤞🤞🤞

个人主页:N_0050-CSDN博客

相关专栏:java SE_N_0050的博客-CSDN博客 java数据结构_N_0050的博客-CSDN博客


数据库

首先数据库大体分为 关系型数据库非关系型数据库

关系型数据库: 通过使用 这样的结构来组织数据

例子如下:

Oracle: 甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,收费。

MySQL 属于甲骨文,不适合做复杂的业务。开源免费。

SQLServer: 微软的产品,安装部署在windows server上,适用于中大型项目。

非关系型数据库:使用 文档键值对 这样的结构来组织数据

例子如下:

基于键值对(Key-Value):如 memcached、redis

基于文档型:如 mongodb


认识MySQL

MySQL本体是 服务器 在服务器这边来负责存储和管理数据 把数据存储在硬盘上的 

数据库通过硬盘去存储数据 希望存储的数据量大 持久化存储

少数数据库内存去存储数据,追求速度最大化 例如redis

MySQL是一个数据库软件, mysql是一个 客户端-服务器 结构的程序!!!


客户端:主动发起请求的一方


服务端:被动接收请求的一方  一个服务器也给很多客户端提供服务  24小时进行


两者之间通过网络进行通信


客户端给服务器发起的数据,称为请求


服务器给客户端返回的数据,称为响应

内存

其实手机256G内存(实际上是硬盘 叫外存)手机真正的内存 叫运存


外存:硬盘/U盘/光盘


512G的硬盘 图片上就475G的硬盘 可以理解为一个是税前 一个是税后

整个硬盘不光要存储数据 还要存储一些属性(元数据)

硬盘在断电的情况下 里面的数据也就是保持几年到几十年 和内存比时间更久

内存和硬盘的差别:

1.内存速度快,硬盘速度慢 差几千倍,几万倍

2.内存空间小,硬盘空间大 16GB 512GB

3.内存贵,硬盘便宜

4.内存中存储的数据易丢失,硬盘中存储的数据是持久的


分布式系统

一台机器能够处理的数据是有限的 往往需要多台机器配合 去完成更复杂的工作

分布式系统中,机器之间也是通过网络进行通信

机器之间的关系 机器2既是服务器也是客户端 作为服务器接收1的请求 作为客户端发

送请求至机器3


MySQL 基础

操作数据库的命令,也称为 SQL语句,也可以理解为一种编程语言

数据库的操作分为 命令行客户端 图形化客户端

数据库操作


此处的 “数据库”指的是一个逻辑上的数据集合

一个 mysql服务器程序,可以在硬盘上去组织保存数据的

mysql服务器是通过 去组织的,一个mysql服务器上 可以有很多的表,就可以把

关联关系的一些表放到一起,就构成了一个 数据集合,此时就称为“数据库”,而且一

个mysql服务器上可以有多个这样的 数据库


字符集

字符集(Character Set)是一种字符的集合,它包括了所有可以使用的字符,比如字

母、数字、符号等 简而言之,字符集是一组字符,而编码是把这些字符转换为计算机

可以识别的格式的方法。

一个汉字占几个字节?

不同的字符集,不同的编码方式下,一个汉字占几个字节,是不同的

编码方式

utf8:

utf8是一个变长编码,utf8的字符最短可能是1个字节 最长可能是4个字节 不仅可以

表示中文 也可以表示世界上任何一种语言

使用utf8编码,一个汉字通常是 3个字节

unicode:

是给一个 字符 进行编码的,但是无法给 字符串 进行编码

在java中,char类型,内部编码是unicode  String类型,内部编码一般是utf8 (java内部自动完成了

编码转换)


数据库操作


1.创建数据库

create database  表名;

create database if not exists 表名;

create database charset 字符集名字;

注意:

sql语句英文分号 ; 结尾

sql中特定含义的单词、关键字(数据库名、表名、列名 都不能和关键字重复)

sql的关键字大小写是不敏感

单词之间至少有一个空格

mysql客户端允许你输入sql的时候换行

2.查看数据库

show databases;


3.选中数据库

use 数据库名;


数据库中最关键的操作,就是针对表进行增删改查   表 是从属于 数据库 的 

要针对 表 进行操作,就需要先把哪个数据库的 表 这个事情指定清楚(就是要对数据库中的哪个

表进行操作)


4.删除数据库

drop database 数据库名;


删除操作,删掉的不仅仅是database,而且也删除了database中所有的表,和表里所有的数据


补充知识点

线上数据库:是被用户访问的数据库,真实用户的信息

线下数据库:开发/测试节点,自己构造的一些 假的 数据

线上的程序一般都会搭配报警程序 报警程序也是一个程序 自动监控mysql服务器的运行状态
 


数据类型

整数类型和浮点类型:



字符串类型

varchar(size):里面的size表示该类型里最多存储几个字符(不是字节)一个汉字,算是一个字

符,但是可能是对应多个字节

当你写了size为10,不是说当前立即给你分配10个字符的的存储空间,而是先分配一个比较小的空

间,如果不够,自动扩容,最大的空间不会超过10,开发中表示字符串主要使用的就是这个varchar


日期类型


总结以下需要掌握的


数据表的操作

针对数据表的操作,前提是先 选中数据库

一个表,包含很多行,每一行称为 一条记录

一个行里可能有很多列,每一列称为是一个字段

每个列都是有一个具体的类型的

1.创建表

记得先 选择 数据库 use 数据库名;

create table 表名(列名 类型,列名 类型 ...);可以多个


2.查看该数据库中的所有表

show 表名;

3.查看指定表的结构

desc 表名;


4.删除表

drop table 表名;

以上便是本章数据库的一些基础操作,大家伙试着去敲敲感受一下,我们下一章再见💕


http://www.ppmy.cn/ops/19071.html

相关文章

【MATLAB源码-第199期】基于MATLAB的深度学习(CNN)数字、模拟调制识别仿真,输出识别率。

操作环境: MATLAB 2022a 1、算法描述 基于深度学习的调制识别系统利用复杂的数学模型和算法来识别和分类从不同来源接收到的无线信号的调制类型。这种技术的应用广泛,特别是在无线通信、电子战、频谱监测和认知无线电等领域中具有重要价值。调制识别系…

Docker之安装部署

本次部署使用openEuler操作系统: 方式一:使用yum安装(openEuler源中有自带的docker18.09.0版本) [rootnode1 ~]# yum install docker -y [rootnode1 ~]# docker version Client: Version: 18.09.0 EulerVersion: 18.09.0.332 API ver…

java接口加密解密

这里写目录标题 controller加解密工具类加密(本质是对ResponseBody加密)解密(本质是对RequestBody传参解密)注解 controller Controller public class PathVariableController {GetMapping(value "/test")ResponseBod…

flutter利用get中的GetConnect实现拦截请求

1、baseProvider.dart 文件,里面实现请求的拦截和响应的处理 import dart:convert;import package:company_manage_flutter/config/setting.dart; import package:flutter_easyloading/flutter_easyloading.dart; import package:get/get_connect/connect.dart;cla…

von Mises-Fisher Distribution (代码解析)

torch.distribution 中包含了很多概率分布的实现,本文首先通过均匀分布来说明 Distribution 的具体用法, 然后再解释 von Mises-Fisher 分布的实现, 其公式推导见 von Mises-Fisher Distribution. 1. torch.distribution.Distribution 以下是 Uniform 的源码: cl…

音视频直播原理解析

直播原理就是一个推流和拉取流的过程; 直播端将直播流推送至服务器,用户端发起请求从服务器拉取直播流然后解码播放 第一部分就是视频直播端的操作:视频采集处理后推流到流媒体服务器。 首先从前端采集设备中获得原始的音频、视频数据&…

idea中创建springboot项目以及创建项目常见问题

目录 Idea创建Springboot项目 Spring Initializr 是什么? Spring Initializr只能创建Springboot项目吗 Idea创建springboot项目没有JDK1.8版本选项问题 原因 解决方案 通过官网查看依赖关系 Springboot与JDK依赖关系表 Idea创建Springboot项目 第一步 创…

SpringBoot统一功能处理

拦截器 拦截器快速入门 什么是拦截器? 拦截器是Spring框架提供的核心功能之一, 主要用来拦截用户的请求, 在指定方法前后, 根据业务需要执行预先设定的代码. 也就是说, 允许开发人员提前定义一些逻辑, 在用户的请求响应前执行. 也可以在用户请求前阻止其执行. 就比如我们要…