MySQL基础操作

前言👀~

结束了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 表名;

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

相关推荐
小白男神4 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19914 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
程序猿_极客4 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql