自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 Java~数据结构(七)~Map和Set的使用(TreeMap\TreeSet的使用、Map和Set的基础知识、二叉搜索树的常见操作及实现..)

若根节点不为空,如果根节点key==查找key,返回true。如果根节点key>查找key,则在其左子树寻找,如果根节点key小于查找key,则在其右子树寻找 否则返回false。2)如果不是空树,按照查找逻辑确定插入位置,插入新节点。:假设待删除节点为cur,其双亲节点为parent.若左子树不为空,则左子树上所有节点的值都小于根节点。若右子树不为空,则右子树上所有节点的值都小于根节点。1)如果是空树,即根==null,直接插入。),根据关键字搜索到的内容就是值(我们查找时搜索的数据就是关键字(

2022-10-09 20:42:12 575 1

原创 Java~数据结构(六)~Java中对象的比较(基本类型和引用类型分别是如何比较的、Comparator/Comparable接口、hashCode和equals方法等)

优先级队列要求:插入的元素不能是null或者元素之间必须能够比较。如果在优先级队列中插入自定义对象,必须是可以比较的对象。为什么?因为优先级队列底层是用堆实现的,向堆中插入元素,必然是需要上下调整的,如果插入的元素无法比较。会抛出异常。很多场景需要明确要求两个对象是可以比较的。如果是两个基本类型,可以直接进行> < 和==比较如果是两个引用类型,不可以直接进行> < 比较,但是可以进行==比较。(默认调用Object中的equals方法)对于自定义类型。

2022-10-07 16:49:11 560

原创 Java~数据结构(五)~优先级队列(堆的基本概念、操作及实现&优先级队列、PriorityQueue的使用、TopK问题、堆排序)

堆的删除与插入操作相反,插入是将元素从下往上调整,而删除是将元素从上往下调整。创建一个数组,初始化堆,然后调整堆中的数据,不断向上或者向下,最后调整成堆。2.按照优先顺序,将新元素与其父节点比较,根据大小进行向上或者向下调整。这只是一种,topk问题是在一组数据中求前k个最小元素或者前k个最大元素。2.比较左右节点的元素,将小的元素上调(向上或向下调整)3.不断进行步骤2,知道不需要调整或者调整到堆底。思路:将所有元素放入优先级队列,返回前k个。堆中有两个基本操作:向上调整和向下调整。

2022-10-06 17:24:33 719

原创 Java~数据结构(四)~二叉树(什么是树&树一些概念&二叉树&二叉树的基本操作和前中后遍历)

树的基础知识二叉树两种特殊的二叉树如何储存一棵二叉树二叉树的基本操作二叉树的遍历树的基础知识什么是树?树是一种数据结构。由n个节点(n>=0)个有限节点组成一个具有层次关系的集合。树是递归定义的。

2022-10-05 21:37:03 413

原创 Java~数据结构(三)~栈和队列(Stack\Queue\Deque的常用方法和模拟实现一个栈和队列等)

【代码】Java~数据结构(三)~栈和队列(Stack\Queue\Deque的常用方法和模拟实现一个栈和队列等)

2022-10-04 22:22:11 1415 2

原创 Java~数据结构(二)~List集合(ArrayList、LinkedList详细介绍、常用的方法有哪些)

其中Collection接口有三个常用的子接口:List(列表)、Set(集)、Queue(队列)。它继承于AbstractList,实现了List,RandomAccess,Cloneable,Serializaable四个接口。它继承了AbstractSequentialList,实现了List,Deque,Cloneable,Serializable接口。LinkedList用双向链表来实现,每一个节点都有指向前后节点的引用。ArrayList是Java集合框架中最常使用的一个类,但是。

2022-10-04 15:48:59 633

原创 Java~数据结构(一)~集合框架学习和背后的数据结构

Set集合是一组无序不可重复的集合。包含三个常用的子类:HashSet、TreeSet、LinkedHashSet。List集合中的元素排列有序,并且可以重复。1.HashMap了解不,介绍一下,如果一个对象为Key时,hashCode和equals方法的用法要注意什么。Java集合框架又称为Java Collection Framework.可以认为是容器。本文主要是了解Java集合框架。4.ArrayList 和LinkedList 的区别是什么。2.HashMap和HashSet的区别是什么?

2022-10-02 19:12:53 848

原创 Java~网络原理~TCP协议与UDP协议详解、TCP保证可靠性传输的措施(确认应答、握手挥手、滑动窗口、流量控制、拥塞控制)及如何提高网络利用率?

方法一:标准既定的端口号方法二:时序分配法TCP为了确保可靠性传输,采取了很多机制,如确认校验和、确认序列号、确认应答机制、数据重发、连接管理、窗口控制等发送端的数据到达目标主机时,接收端会返回一个已收到消息的通知,这个消息就是ACK()。ACK表示确定收到了消息。如果确定没有收到消息,会回复一个NACK.发送端和接收端之间的确认应答就像两个人聊天,发送端对接收端说话(发送数据),接受端肯定回答表示听懂了(),否定回答表示没听懂().没有回答也是认为没听懂没有回应时,发送端会等待特定时间,然后重发数据。否定

2022-06-05 20:53:51 716 1

原创 TCP/IP~从数据链路到IP协议详解、IP协议辅助技术介绍(DNS、ARP、NAT、ICMP、IP隧道)

根据介质的使用方法的不同,可以分为共享型和非共享型多个设备共享一个通信介质(用同一根线)共享型网络是半双工通信,发送数据的同时不能接受数据,接受的同时不能发送共享型网络中介质访问方式争用方式多个设备争夺在线路中传输数据的权力,也叫(载波监听多个访问)CSMA/CD具体流程:令牌方式不共享介质,每一个数据链路中的节点直接连接交换机,让交换机转发数据。计算机和交换机接口之间形成一对一的连接。非共享型是全双工通信,发送数据的同时可以接受数据IP地址中的子网和子网掩码全局IP与私有IP私有IP的出现是为了解决

2022-06-02 10:44:21 473

原创 Java~网络原理~TCP/IP协议概述、具体含义、OSI分层模型、数据的传输方式(电路交换、分组交换)、数据包从发送到接收的详细流程

计算机网络,根据其模式可以分为WAN和LANWAN:广域网(Wide Area Network)LAN:局域网(Local Area work)广域网可以覆盖超远距离,局域网一般只能覆盖一栋楼,一个楼层或一个校园.TCP/IP什么是协议?协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”只要遵守“约定”,不同的厂商,不同的CPU和不同的操作系统之间就可以实现通信.协议分层与OSI参考模型OSI模型共7层,每个分层都接受由下一层提供的服务,并负责向上一层提供服.

2022-05-27 22:00:04 716 1

原创 Java~线程通信:等待/通知机制、等待通知的经典范式、管道输入输出流、Thread.join使用

文章目录volatile和synchronized关键字Java支持多线程来访问一个对象或对象的成员变量但由于每个线程都有一份这个对象的拷贝,所以程序执行时,每个线程看到的变量不一定是最新的(对象和成员变量虽然放在共享内存中,但是多核处理器为了加快程序的执行,允许每个线程有一份自己的拷贝)volatile关键字要求每一个线程对变量的访问和修改都在共享内存中,即每一次修改,所有的线程都可以看到过多的使用volatile会降低程序效率,偶尔一用可以synchronized以修饰方

2022-05-20 20:34:40 263

原创 Java~线程优先级、6种线程状态、Daemon线程、构造线程的源码分析、线程的启动、中断

文章目录线程优先级线程状态(6种)Daemon线程启动终止一个线程线程优先级线程优先级就是决定这个线程获得更多或者更少的处理器资源.操作系统采用时分的方式来调度线程给每个线程分配若干时间片,时间片用完了就切换另一个线程时间片的多少就决定了线程用到的处理器资源的多少线程优先级是线程的一个属性,通过setPriority()方法进行设置线程优先级有1-10个等级,默认等级是5,优先级越高分配到的资源越多对于频繁阻塞的线程(比如休眠、I/O操作等)一般需要更高的优先级,偏向计算的可以设置低优先级

2022-05-19 18:43:57 351 1

原创 Java~并发执行程序可能带来的问题(上下文切换、死锁、资源限制)

上下文切换无论单双核处理器都支持多线程多线程并发执行的原理是CPU给每个线程分配CPU时间片,在这个时间片内执行这个线程,时间片一般是几十毫秒(ms),由于非常短,所以我们感觉是多个线程同时执行当前任务执行一个时间片后会执行下一个任务,同时保存上一个任务的状态,当再次回到这个任务时,会继续刚才的状态继续加载,任务从保存到再加载的过程就是一次上下文切换.并发时,线程创建和上下文切换也是有时间消耗的上下文每1秒切换1000多次减少上下文切换减少上下文切换有4种方法,分别是无锁并发编程、CAS算

2022-05-18 18:56:04 522

原创 Java~IO流概述、分类、常用的流总结(FileInputStream&FileOutputStream、缓冲流、数据流、标准流、对象流)

文章目录IO流概述IO流概述什么是IO流I:inputO:output通过IO就可以完成硬盘文件的读和写硬盘中的文件加载到内存就是输入(Input)、内存将使用或者修改过的文件再返回给硬盘就是输出(Output)IO流分类?...

2022-05-17 21:28:03 589

原创 Java~文件路径、类加载过程、双亲委派机制

文章目录如何在类路径下获取文件的绝对路径以流的形式直接返回路径更直接:一步到位之资源绑定器的使用类加载机制双亲委派模型如何在类路径下获取文件的绝对路径public static void main(String[] args) throws Exception { //这种路径的缺点:移植性差,在IDEA中默认的当前路径是project的根 //离开了IDEA,这个路径就无效 // FileReader reader=new FileReader("src/

2022-05-15 22:06:03 198

原创 Java~反射机制、获取Class的三种方式、利用反射获取字段、方法、创建对象

文章目录反射机制获取Class的三种方式利用反射实例化对象Class.forName方法反射获取Field反编译Field利用反射访问类字段插入知识点:可变长参数使用反射机制来调用方法使用反射创建对象反射机制反射机制有什么用?通过Java语言中的反射机制可以操作字节码文件有点类似于黑客,可以读和修改字节码文件通过反射机制可以操作代码片段( class文件)反射机制的相关类在哪个包下?java.lang.reflect.*;反射机制相关的类有哪些?java.lang.Class

2022-05-15 22:02:05 3505

原创 JDBC~ResultSet、ResultSetMetaData的使用、ORM思想、任意表的任意字段查询(JDBC实现)

文章目录ORM思想ResultSet、ResultSetMetaData的使用利用JDBC实现查询操作利用JDBC实现对某表的任意字段查询利用JDBC实现对任意表的任意字段查询总结ORM思想ORM映射思想(Object relational mapping)一个数据表对应一个Java类表中的一条记录对应Java类的一个对象表中的一个字段对应java类的一个属性ResultSet、ResultSetMetaData的使用ResultSetPreparedStatement 的 execu

2022-05-14 16:49:58 618

原创 JDBC~Java中的JDBC概述、连接数据库的注意点、利用PreparedStatement实现增删改

文章目录JDBC概述步骤连接数据库的几种方式利用JDBC操作数据库利用JDBC实现添加(insert)利用JDBC实现删除(delete)包装相同的代码,实现修改(update)利用JDBC实现一个方法增删改JDBC概述JDBC是JAVA提供的一组API,可以用来访问不同的数据库这组接口是sun公司提供的,不同的数据库厂商会针对这组接口提供不同的实现,这些实现就是每个数据库的驱动步骤必须有的对象:Connection、Statement中间执行SQL语句使用完成后关闭资源连接数据库

2022-05-14 13:48:14 395

原创 MySQL~锁内存结构与监控策略

文章目录锁结构锁的监控锁结构对一条数据加锁的本质就是创建一个锁结构与其关联如果一个事务要获取10000条记录的锁,不会生成10000个锁结构,而是会将相同类型记录的锁放到一个锁结构中,只要符合以下条件:加锁记录在同一个事务加锁记录在同一个页面中加锁类型和等待状态相同具体结构每一层是干啥的锁所在事务信息:指针,指向事务更多信息索引信息:指针,加锁记录属于哪个索引表锁/行锁信息:如果是表锁,记录对哪个表如果是行锁,记录Spring ID表空间、PageNumber 所在页号

2022-05-13 16:04:34 405

原创 MySQL~锁的大集合(S锁、X锁、意向锁、自增锁、元数据锁、记录锁、间隙锁、临键锁、全局锁、死锁)

文章目录什么是锁机制并发的访问相同数据的情况读读写写读写/写读锁的分类共享锁(S锁)排他锁( X锁)表锁表级别的S、X锁.意向锁.自增锁元数据锁行锁记录锁间隙锁临键锁插入意向锁页锁其他锁全局锁死锁什么是锁机制锁是计算机协调多个进程或线程并发访问某一资源的控制.锁不仅仅限于数据库领域,在计算机中,当多个进程或线程并发的访问某个数据的时候,对于一些重要敏感的数据,为了保证数据的完整性和一致性,我们需要保证最多只有一个线程在访问,所以诞生了锁机制。锁机制的作用是对并发操作进行控制在MySQL中,锁保

2022-05-13 14:45:38 2977

原创 MySQL~Undo日志(作用、存储结构、生命周期/运行过程)

文章目录Undo日志作用存储结构生命周期/运行过程Undo日志Undo日志保证了事务原子性每次更新一条数据之前都会先写入一条undo日志在运行过程中,如果数据库宕机或是事务回滚,都需要把数据恢复成原来的样子,这个由Undo日志完成SELECT没有修改数据记录,不会产生Undo日志Undo日志每次记录的都是相反的操作,如果修改操作错误,可以通过执行这些相反操作把数据恢复回去。作用1.回滚数据(数据虽然回滚,但是只是逻辑上恢复了原装,物理存储上的改变无法恢复)2.实现MVCC存储结构

2022-05-12 12:51:26 635

原创 MySQL~Redo刷盘策略、LogBuffer缓存池和LogFile日志文件理解

文章目录刷盘策略不同刷盘策略演示Redo log buffer缓存区Redo log file日志文件总结刷盘策略Innodb在写Redo日志的时候,是先写入redo log buffer 中,然后再按照一定频率刷新到redo log file中。这里的 一定频率 有多个选择,这些选择对应的就是不同的刷盘策略.这里的刷盘不是指将内存中的数据刷新到磁盘,而是指从Redo日志位于内存中的缓冲区(redo log buffer)刷新到位于磁盘中的文件区(redo log file).redo

2022-05-11 22:34:11 2341

原创 MySQL~Redo日志和Undo日志理解、为什么要有Redo日志、Redo日志的组成、特点、运行流程

文章目录事务ACID特性是如何实现的事务ACID特性是如何实现的事务的四种特性大家都知道是原子性、一致性、隔离性和持续性,也就是ACID,那么这四种特性是如何实现的呢?隔离性由锁机制实现剩下的三种特性由事务的redo和undo日志实现:1.Redo Log是重做日志,可以再写入,恢复提交事务修改的数据页操作,来保证事务的持久性2.Undo Log是回滚日志,回滚行记录到某个保存点,来保证事务的原子性和一致性。redo log 是存储引擎层(innodb)生成的日志,记录的是物理层面的对

2022-05-11 17:12:09 2931

原创 MySQL~数据并发问题(脏写、脏读、不可重复读、幻读)与SQL隔离级别演示

文章目录数据并发问题脏写脏读不可重复读幻读MySQL中的隔离级别如何设置事务的隔离级别数据并发问题脏写脏读不可重复读幻读四个问题严重性从高到低:脏写、脏读、不可重复读、幻读MySQL中的隔离级别脏写的问题非常严重,不论是哪种隔离级别,都不允许脏写的问题发生查看默认的隔离级别:mysql> show variables like 'transaction_isolation';+-----------------------+-----------------+| Va

2022-05-10 16:47:56 1294 7

原创 MySQL~事务的ACID特性与事务的状态、显式与隐式事务

文章目录E-R模型关系类型E-R模型ER模型也叫实体关系模型ER模型三要素:实体、属性、关系实体:数据对象,抽象自现实生活个体属性:实体的特性,比如电话号码、地址、数量等关系:实体之间的关系可独立存在是实体,不可独立存在是属性关系类型...

2022-05-09 16:40:29 736

原创 MySQL~范式概述、12345范式+巴斯范式(BCNF)、反范式化

文章目录范式概述第一范式(1NF)第二范式(2NF)第三范式(3NF)巴斯范式(BCNF)第四范式(4NF)第五范式(5NF)了解即可反范式化范式概述范式:关系型数据库中,数据表设计的规则就是范式要想设计一张合理的数据表,必须满足某种范式范式分类:关系型数据库中,有6种:12345范式+巴斯范式(BCNF)从低到高阶:123+巴斯+45范式越高阶,冗余度越低高阶一定符合低阶要求满足最低要求的是第一范式,有更多规范要求的是第二范式,以此类推,越来越严格实际开发中,一般都是3NF,

2022-05-09 14:59:44 699 1

原创 MySQL~索引设计原则:适合创建索引的11种情况、不适合创建索引的7种情况

文章目录数据的准备适合创建索引不适合创建索引数据的准备#1. 数据的准备CREATE DATABASE atguigudb1;USE atguigudb1;#1.创建学生表和课程表CREATE TABLE `student_info` ( `id` INT(11) AUTO_INCREMENT, `student_id` INT NOT NULL , `name` VARCHAR(20) DEFAULT NULL, `course_id` INT NOT NULL , `clas

2022-05-09 12:24:58 1860

原创 MySQL~索引分类和向表中添加删除索引、8.0版本新特性:降序和隐藏

文章目录索引分类普通索引唯一性索引主键索引单列索引多列索引全文索引索引分类按照功能划分,可以分为普通、唯一、主键、全文按照物理实现,可以分为聚集、非聚集按照字段个数,可以分为单列、多列普通索引没有任何的限制条件,单纯用来提高查询效率,非常普通的索引.这个索引可以用于任何的数据类型。索引值是否唯一和非空,由字段本身的约束决定唯一性索引限制该索引的值唯一,可以为空一张表里可以有多个唯一索引唯一约束通过唯一索引实现使用unique创建主键索引是特殊的唯一索引不可为空一张

2022-05-08 15:49:26 1241

原创 MySQL~不同数据结构对索引的友好程度(Hash、二叉搜索树、AVL树、B-树、B+树)

文章目录1. 选择标准2. 各种数据结构分析2.1 可以用Hash吗?2.1 可以用二叉搜索树吗?1. 选择标准索引选数据结构只有一个标准:磁盘IO次数,越少越好索引是存储在外部磁盘上的,对于关系型数据库,当数据量比较大的时候,索引有可能达到几个G甚至更多,不可能全部加载完,只能逐一加载,每次加载都会耗时,所以加载次数越少越好2. 各种数据结构分析2.1 可以用Hash吗?不可以Hash是通过某种确定的算法将输入变输出,相同的输入总会得到相同的输出Hash中像HashMap,增删查改的

2022-05-07 13:57:15 523

原创 MySQL~B+树索引(聚簇、非聚簇)和一些B+树索引的注意点

这里写目录标题聚簇索引非聚簇索引联合索引索引按照物理实现方式,索引可以分为2种:聚簇索引和非聚簇索引非聚簇索引又被称为二级索引或者辅助索引聚簇索引聚簇索引指的是一种数据的存储方式,即将所有的记录存储在叶子节点,就是索引即数据、数据即索引而聚簇是指数据行和相邻的键值存储在一起,就是索引和数据是一个整体的。特点:根据主键的大小进行记录和数据页的排序( 1.一个数据页内的多个记录是根据主键的大小排成一个单链表2.各个数据页也是根据主键的大小排成一个双链表3.每一层的数据页中也是根据主键的大小进行排

2022-05-06 20:20:47 1394 2

原创 MySQL~InnoDB中索引的底层数据结构--B+树如何存放数据

文章目录索引和数据储存Innodb中的索引---B+树B+树与数据页索引和数据储存数据在数据库中以表的形式存储,每个表中的数据可能有千万条,这些数据在底层存储的时候,是以数据页为基本单位进行存储。索引和数据页的关系,可以类比成图书馆里每个书架和书架的分类牌之间的关系,索引就是一个个的牌子,贴在书架上,写着“小说”“文学”“”“影视”等等,而数据页就是一个个的书架,里面的书就是具体的数据…在数据页中,每条记录之间通过单链表的形式进行连接,而数据页之间通过双向链表的形式进行连接,如下图:Innodb

2022-05-06 16:10:32 1603 2

原创 MySQL重点~为什么使用索引以及索引的优缺点

文章目录什么是索引、为什么使用索引索引的优缺点什么是索引、为什么使用索引什么是索引索引是一种数据结构,是存储引擎用来快速找到数据的一种数据结构。类似于课本的目录,通过目录就可以快速知道我们要找的内容大概在哪一个章节。在MySQL中进行数据查找时,我们可以先查找索引,然后通过索引来找到相关的记录,如果不符合索引,再进行一条一条的进行全表查找。为什么使用索引举个栗子如下图:在没有索引的情况下,数据分布在硬盘不同的位置,在查找数据时,需要在不同的位置来回找数据,非常耗时,即使是顺序放置,也需要

2022-05-06 14:09:08 799 1

原创 MySQL~存储引擎(如何查看、分类、innodb的优势、Innodb与MyIsam的对比、其他常见引擎)

文章目录事务必须满足的4个条件事务必须满足的4个条件原子性:一个事务中的所有操作,要么全完成,要么全不完成,不会结束在中间某个环节。如果事务在执行的过程中发生错误,会回滚(Rollback)到事务开始之前的状态,就好像这个事务从来没有执行过一样一致性:在事务开始之前和事务结束之后,数据库的完整性没有被破坏。隔离性:数据库允许多个并发事务同时对其数据进行修改和读写,隔离性可以有效防止多个事务并发执行时导致数据不一致。持久性:事务处理结束后,对数据的修改就是永久性的,即使系统故障也不会丢失。.

2022-05-06 12:49:53 719 1

原创 java.lang.ArrayIndexOutBoundException数组越界异常解决

文章目录ArrayIndexOutBoundException是数组越界异常,非常常见的一个异常。从字面意思理解是数组下标访问错误,通常是在使用的时候访问了错误的数组下标。个人觉得这个问题的出现一般是搞混了数组长度和下标的问题:数组的长度,是指数组中元素的个数,也就是xx.length=元素个数int a[]={1,2,3};System.out.println(a.length);//3而数组的下标是从0开始算的,最后一个元素的下标正好是length-1a[0]=1,a[1]=2,a[2

2022-05-04 17:31:08 6207

原创 MySQL基础~NATURAL JOIN(自然连接) 和USING的使用(SQL99语法新特性)

文章目录NATURAL JOINUSING表的约束条件总结与规范SQL99标准了解NATURAL JOIN我们在查询两张表时,可能会将连接条件设为相同的字段,如下:比如我们想查询员工的id、姓名和所在部门,会从员工表和部门表中,根据部门id和管理id是否相等进行查询这里的连接条件是两张表中共有的字段:部门id和管理id,通过这两个字段是否分别相同来进行判断mysql> SELECT employee_id,last_name,department_name ->

2022-05-01 16:10:16 5306 3

原创 MySQL基础~使用SQL99实现7种JOIN操作(取并操作)

文章目录union 与 union all关键字7种JOIN操作的实现A∩B内连接左外连接&右外连接A - A∩BB-A∩B满外连接(A∪B)A∪B-A∩Bunion 与 union all关键字UNION的作用是合并查询的结果 ,去除重复的记录UNION ALL的作用是合并查询结果,不去掉重复的记录语法格式select 某列... from 表1union /union allselect 某列....from 表2优先使用:union 返回两个表的内容(并集),去重

2022-05-01 14:58:39 1223 1

原创 MySQL基础~多表查询分类与SQL92和99语法如何实现内连接和外连接

文章目录多表查询的分类等值连接 vs 非等值连接自连接 vs 非自连接内连接 vs 外连接SQL92和SQL99语法如何实现内外连接多表查询的分类这个分类是根据多表查询时的连接条件而划分的,即where语句后的内容,可以用三个角度进行划分:角度1:等值连接 非等值连接角度2: 自连接 非自连接角度3:内连接 外连接在多表查询时,需要注意一些问题:多表查询的正确方式:需要有连接条件。如果没有连接条件,就会出现笛卡尔积错误,即查询出两个表之间的所有的数据组合结果SELECT em

2022-05-01 13:29:31 640 1

原创 MySQL基础~数据约束primary key、unique、not null、default、foreign key

文章目录数据库约束主键唯一约束非空约束默认外键约束(重点)数据库约束约束可以进一步的对表中的数据进行限制,可以确保数据的正确性、有效性和完整性。约束的种类:PRIMARY KEY:主键UNIQUE:唯一NOT NULL:非空DEFAULT :默认FOREIGN KEY:外键主键在数据库中,有时候我们可能记录的数据一模一样,为了区分这种相同的数据,我们可以给所有的数据设置一个新的字段,这个字段用来区分数据。即主键的作用是用来唯一的标识记录.每一张表都有一个主键字段,每个数据都有一个主

2022-04-29 22:34:27 2285 3

原创 MySQL基础~排序查询、聚合函数查询、Group by分组查询、limit分页

文章目录数据库中的复杂查询排序聚合函数查询分组查询Having和Where的区别limit语句数据库中的复杂查询排序排序查询数据库中的数据,使用ORDER BY字句ASC:升序DESC:降序如果不指定,默认是升序ASC单列排序select*from 表1 where 字段=xxx order by 字段名 [asc/desc];组合排序:先按照第一个字段进行排序,如果相同,再按照第二个字段排序,以此类推SELECT 字段 FROM 表名 WHERE 字段=值 order

2022-04-29 19:20:51 940 1

原创 MySQL基础~总结一下几种常见的SQL语句(DDL、DML、DQL)

文章目录前言DDL操作数据库创建库查看库删除库使用/切换库DDL操作表创建表查看表删除表修改表DML语句操作表数据向表中插入数据蠕虫复制更新表中的数据DQL查询数据简单查询条件查询前言数据库的整体架构是在DBMS上有很多的分库,每个库里又有很多表。每个分库可以放一个系列的数据,比如库1放京东的数据,库2放淘宝的数据,每个库的表通过记录的形式一条一条的储存数据,比如库1的第一张表存放了京东的用户信息,第二张表存放了商品信息,第三张表存放了购买记录等等类似DDL操作数据库创建库直接创建:crea

2022-04-28 19:29:41 1073 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除