前言👀~
结束了java数据结构篇章,紧接着来到MySQL的学习喽~
如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,如果内容有什么问题的话,欢迎各位评论纠正 🤞🤞🤞
个人主页: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 表名;
以上便是本章数据库的一些基础操作,大家伙试着去敲敲感受一下,我们下一章再见💕