什么是数据库?
数据库是一个软件(是一类软件) 这一类软件的功能就是"管理数据" .实现数据库软件的内部,会广泛使用到各种数据结构
数据结构的学习有什么用?
这门学科是讨论具体如何组织和管理数据~
管理的目的就是为了"增删查改"
电脑的组成
cpu:(中央处理器) 计算机最核心的组件!!计算机的大脑
存储器:
内存:
外存:磁盘,U盘
输入设备
输出设备
内存和外存的区别
| 内存 | 外存 |
|---|---|
| 存储空间较小 | 存储空间较大 |
| 访问速度快 | 访问速度慢 |
| 内存成本高 | 外存成本低 |
| 数据断电后消失 | 数据断电后还在 |
数据库管理的数据,一般情况下保存在硬盘上~
"持久化存储"的方式
也有少部分的数据库,将数据存储在内存中(Redis,Tair)
什么是MySQLMySQL就是一个具体的数据库软件!!
MySQL数据库,是一个"客户端-服务器"结构的程序
客户端-服务器:网络通信的时候,通信的双方,分别起的名字
**客户端:**主动发起请求的一方
**服务端:**被动接受请求的一方
**请求:**客户端给服务器发送的数据
**响应:**服务器给客户端返回的数据
数据库的操作sql语句不区分大小写
详细的语句可看课件
显示出当前服务器上都有哪些数据库(哪些数据集合)show databases;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ZBpU31T-1646459062517)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304102557845.png)]
上面的数据库都是系统数据库,不可删除!!!
创建数据库create database 数据库名;
数据库名应该遵循变量的命名规则,不可使用关键字,非要使用,需要加上``
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a9SlGOMw-1646459062520)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304103137421.png)]
选中数据库我们会创建非常多的数据库,但是在操作的时候往往针对某一数据库,这时我们需要选中数据库进行操作.
use 数据库名;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ih93ye25-1646459062522)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304103338232.png)]
删除数据库顾名思义,把数据库删除掉!!
这个操作非常危险,一旦执行成功,此时数据大概率回复不过来.
drop database 数据库名;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xVY8GPT9-1646459062524)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304103558511.png)]
常用数据类型分为整型和浮点型
数值类型| 数据类型 | 大小 | 说明 | 对应的Java类型 |
|---|---|---|---|
| bit[M] | M指定位数,默认为1 | 二进制数,M范围从1到64,存储数值范围从0到2^M-1 | 常用Boolean对应bit,此时默认是1位,只能存储0和1 |
| tinyint | 1字节 | Byte | |
| smallint | 2字节 | short | |
| int | 4字节 | int | |
| bigint | 8字节 | long | |
| float(M,D) | 4字节 | 单精度,M指定长度,D指定小数位数.会发生精度丢失 | float |
| double(M,D) | 8字节 | double | |
| decimal(M,D) | M/D最大值+2 | 双精度,M指定长度,D表示小数点位数.精度数值. | bigDecimal |
| numeric(M,D) | M/D最大值+2 | 和decimal一样 | bigDecimal |
1字节(bytes)= 8bit。
在代码中表示"钱"一般有两种方式
- 使用decimal/bigdecimal使用int(单位是分) 这是一个常见的手段
| 数据类型 | 大小 | 说明 | 对应Java类型 |
|---|---|---|---|
| varchar(size) | 0-65,535字节 | 可变长度字符串 | String |
| text | 0-65,535字节 | 长文本数据 | String |
| mediumtext | 0- 16 777 215字节 | 中等长度文本数据 | String |
| blob | 0-65,535字节 | 二进制形式的长文本数据 | byte[] |
| 数据类型 | 大小 | 说明 | 对应Java类型 |
|---|---|---|---|
| datetime | 8字节 | 范围从1000到9999年,不会进行时区的 | java.util.Date、java.sql.Timestamp |
| timestamp | 4字节 | 范围从1970到2038年,自动检索当前时 | java.util.Date、java.sql.Timestamp |
关于公司涉及的几种环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mddlA6Ih-1646459062525)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304105445475.png)]
表的操作一个数据库中,可以有很多个数据表
每个数据标都有很多行,每一行成为是一条"记录"
每一行又有很多列,每一列称为是一个"字段"
在进行表的操作之前,要先选中该数据库
创建表create table 表名(列名 类型, 列名 类型 ……);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PzRsCCBb-1646459062526)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304110204097.png)]
查看表show tables;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksGPElA0-1646459062528)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304110326606.png)]
查看表结构查看某个表里面有几列,每一列是什么类型,每一列是什么名字,每一列其他补充信息
desc 表名;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tUos6CD2-1646459062529)(F:/photoBox/Java%E5%AD%A6%E4%B9%A0/image-20220304110510209.png)]
删除表Field:字段
Type:类型
Null:是否可以为空
Key:
Default :默认值
Extra:额外信息
drop table 表名;
这里就不演示了.


![[MySQL数据库基础] [MySQL数据库基础]](http://www.mshxw.com/aiimages/31/756004.png)
