SpringBoot的MySQL基础

SpringBoot的MySQL基础,第1张

目录

一、数据库的基本概念

关系型数据库(RDBMS)

非关系型数据库(NOSQL)

二、MySQL数据类型

三、SQL语句

DML(增删改)

DQL:

条件查询

四、多表查询 


 

一、数据库的基本概念

我们的系统中几乎使用到的一切数据都是存放在数据库中的。数据库分为关系型数据库和非关系型数据库。

关系型数据库(RDBMS)

优点:

  • 将数据库的数据以系统文件的方式,持久存储,将数据存储在硬盘中
  • 使用了统一的SQL语句 *** 作数据库 
  • 可以通过SQL语句完成条件复杂的查询。
  • 安全性高

缺点:

  • 查询速度较慢,性能较差

典型代表:MySQL数据库

非关系型数据库(NOSQL)

优点:

  • 将数据写入内存中,读取块,性能高,多用于缓存
  • key value的形式存储数据,简单易懂

缺点:

  • 将数据写入内存中,会随电脑关机而消失,无法长期存储。
  • 安全性差,没有事物的概念,无法使用SQL语句

典型代表:Redis(后期会学到)

二、MySQL数据类型

MySQL中的常用的数据类型:

整型:

int:相当于Java中的int,占4个字节大小,一般用于存储数值较小的值

bigint:相当于Java中的long,占8个字节大小,一般用于存储id值

其他整型不常用

 字符串:

varchar:字符串类型,可根据实际存储动态改变占用空间的大小。

char:占用空间大小固定,不常用。

日期:

datetime:用于记录时间,可参照Java中的Date类。

三、SQL语句

sql语句分为以下四类

  • DDL Data Defintion language 数据库定义语言
    • 用于对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改
  • DML Data Manipulation language 数据 *** 作语言
    • 用于完成对数据表中的数据添加,删除,修改
  • DQL Data Query language 数据查询语言
    • 用于将数据表中的数据查询出来
  • DCL Data Control Laguage 数据控制语言
    • 用于完成事务管理等控制型 *** 作

在实际的开发中,DDL,DCL都是不常用的,因为这些都是开放前完成的工作,可以利用图形化界面(Navicat) 完成。而DML和DQL语句(增删改查)是需要掌握的,因为我们要在Java中封装这些SQL,根据用户的 *** 作来执行不同的SQL,所以增删改查的SQL语句是必须掌握的。后期MyBatis-Plus中也会对SQL语句进行简化 *** 作。

DML(增删改)

1.增添数据

insert into 表名  values (值1,值2...)
insert into 表名(字段1,字段2,字段3) values(值1,值2,值3),(值1,值2,值3)

 2.删除数据

delete from 表名 where 条件

3.修改数据

update 表名 set 字段 = 值 where 条件
DQL:

查询所有数据 :* 为通配符,这里代表所有字段

select * from 表名 

查询某个字段

select 字段名 from 表名 

查询多个字段

select 字段1,字段2 from 表名

排序:  desc 从大到小 acs 从小到大

select * from 表名 order by 字段 desc
条件查询
select * from 表名 where 条件

模糊查询: like关键字。使用模糊查询,可以查询出某字段中,包括这个条件值。

select * from 表名 where ​某字段 Like 条件
四、多表查询 

 多表查询虽然可以在多张表中做查询,但是多表查询的SQL语句逻辑较复杂并且使用到外键,当查询量较大时,会拖垮性能。在一些大的公司里面,都会禁用多表连接查询,原因就是一旦数据量足够大的时候多表连接查询效率会很慢。我们后面会用Java逻辑代替多表查询的逻辑。因此就不再总结,如果想了解,可以看我之前写的这一篇博客

 

MySQL多表查询小总结

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/877458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存