white camel
星光不问赶路人, 时光不负有心人
展开
-
MySQL笔记: B站宋红康最新教程 (持续更新中)
B站宋红康MySQL笔记基础篇标题链接第01章_数据库概述https://blog.csdn.net/m0_37989980/article/details/123979552第02章_MySQL环境搭建略第03章_基本的SELECT语句https://blog.csdn.net/m0_37989980/article/details/123980158第04章_运算符https://blog.csdn.net/m0_37989980/article/d.原创 2022-04-18 23:17:43 · 6216 阅读 · 6 评论 -
MySQL (十三) : MySQL约束(详细、全)、非空约束not null、唯一约束unique、primary key (唯一且非空)主键约束、default约束、check约束
第13章_约束1. 约束(constraint)概述1.1 为什么需要约束数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:实体完整性(Entity Integrity):例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(Doma原创 2022-04-18 23:11:01 · 2266 阅读 · 1 评论 -
MySQL (十二) : MySQL数据类型精讲(非常详细)、整数类型、定点数(小数)类型、日期类型、文本字符串类型
第12章_MySQL数据类型精讲1. MySQL中的数据类型类型类型举例整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT浮点类型FLOAT、DOUBLE定点数类型DECIMAL位类型BIT日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP文本字符串类型CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT枚举类型E原创 2022-04-18 23:00:00 · 823 阅读 · 0 评论 -
MySQL (十一) : 数据处理之增删改、INSERT、UPDATE、DELETE
第11章_数据处理之增删改1. 插入数据1.1 实际问题解决方式:使用 INSERT 语句向表中插入数据。1.2 方式1:VALUES的方式添加使用这种语法一次只能向表中插入一条数据。情况1:为表的所有字段按默认顺序插入数据INSERT INTO 表名VALUES (value1,value2,....);值列表中需要为表的每一个字段指定值,并且值的顺序必须和数据表中字段定义时的顺序相同。举例:INSERT INTO departmentsVALUES (70, 'Pub',原创 2022-04-17 21:15:00 · 469 阅读 · 0 评论 -
MySQL (十) : 创建表和管理表、CRUD数据库、CRUD表结构、DELETE和TRUNCATE的区别
第10章_创建和管理表讲师:尚硅谷-宋红康(江湖人称:康师傅)官网:http://www.atguigu.com1. 基础知识1.1 一条数据存储的过程存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。[外链图片转存失败,源站可能有防盗链机制,原创 2022-04-17 11:50:01 · 568 阅读 · 0 评论 -
MySQL (九) : 子查询、单行子查询、多行子查询、相关子查询、EXISTS和NOT EXISTS关键字
第09章_子查询子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。1. 需求分析与问题解决1.1 实际问题现有解决方式:#方式一:SELECT salaryFROM employeesWHERE last_name = 'Abel原创 2022-04-09 19:25:46 · 1127 阅读 · 0 评论 -
MySQL (八) : 聚合函数(AVG, SUM, MIN, COUNT)、GROUP BY、HAVING、SELECT的执行顺序(原理)
第08章_聚合函数我们上一章讲到了 SQL 单行函数。实际上 SQL 函数还有一类,叫做 聚合(或聚集、分组) 函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。1. 聚合函数介绍什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值。聚合函数类型AVG()SUM()MAX()MIN()COUNT()聚合函数语法聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。1.1 AVG和S原创 2022-04-08 23:45:00 · 571 阅读 · 0 评论 -
MySQL (七) :单行函数 (数值、字符串、日期和时间、流程控制、加密与解密、MySQL信息函数)
第07章_单行函数1. 函数的理解1.1 什么是函数函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编原创 2022-04-06 19:51:44 · 492 阅读 · 0 评论 -
MySQL (六) : 多表查询、笛卡尔积、SQL92/99语法
第06章_多表查询多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。1. 一个案例引发的多表连接1.1 案例说明从多个表中获取数据:#案例:查询员工的姓名及其部门名称SELECT last_name, department_name FROM employees, depart原创 2022-04-08 22:45:00 · 1346 阅读 · 0 评论 -
MySQL (五) : 排序与分页
第05章_排序与分页1. 排序数据1.1 排序规则使用 ORDER BY 子句排序ASC(ascend): 升序DESC(descend):降序ORDER BY 子句在SELECT语句的结尾。1.2 单列排序SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date; # 默认ASC 升序SELECT last_name, job_id, de原创 2022-04-07 00:45:00 · 364 阅读 · 0 评论 -
MySQL (四) : 运算符
总目录: MySQL学习第04章_运算符1. 算术运算符算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 (+)、减(-)、乘(*)、除(/)和取模(%)运算。1.加法与减法运算符mysql> SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5 FROM dual;+-----+---------+---------+----------.原创 2022-04-06 01:06:12 · 384 阅读 · 0 评论 -
MySQL (三) : 基本的SELECT语句
总目录: MySQL学习第03章_基本的SELECT语句1. SQL概述1.1 SQL背景知识1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几幕兴衰。但在这片浩荡的波动里,有一门技术从未消失,甚至“老当益壮”,那就是 SQL。45 年前,也就是 1974 年,IBM 研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》,直到今天这门结构化的查询语言并没有.原创 2022-04-06 00:08:40 · 845 阅读 · 0 评论 -
MySQL (一) : 数据库概述、关系型数据库设计规则
第01章_数据库概述1. 为什么要使用数据库持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。2. 数据库与数据库管理系统2.1 数据库的相关概念DB:数据库(Database)即存储数据的“仓库”,其本质是一个原创 2022-04-05 23:26:02 · 1171 阅读 · 0 评论 -
MySQL的索引底层为何使用 B+树?B树和B+树有哪些区别? 硬盘结构介绍、操作系统读取硬盘数据的过程、什么是IO操作?
相关文章 : MySQL 索引底层为什么选择B+Tree一、B+树介绍B+树是B树的变体,常用于 数据库和操作系统的文件系统 中MySQL数据库的索引就是基于B+树实现的B+树的特点:分为 内部节点(非叶子)、叶子节点 两种节点内部节点 只存储key, 不存储具体数据叶子节点 存储key(索引列) 和 具体数据(每一条记录)所有的叶子节点形成一条有序链表 (B树的叶子节点没有链)m阶B+树非根节点的元素数量 x:┌ m/2 ┐ ≤ x ≤ mMySQL中的B+T.原创 2021-01-10 15:51:16 · 1182 阅读 · 0 评论 -
MySQL 索引最左前缀原则
MySQL 索引最左前缀原则索引最佳左前缀法则:带头大哥不能死、中间兄弟不能断1、准备数据建表CREATE TABLE IF NOT EXISTS staff ( id INT PRIMARY KEY auto_increment, name VARCHAR(50), age INT, pos VARCHAR(50) COMMENT '职位', salary DECIMAL(10,2));插入数据INSERT INTO staff(name, age, pos, salary)原创 2021-01-08 23:25:22 · 2004 阅读 · 0 评论 -
InnoDB 事务与锁的前世今生
转载自: 抗麻袋的少年のInnoDB 事务与锁的前世今生写在开头在你读到本文时,默认你已经对 MySQL存储引擎、索引 内容有了一定的掌握。如果你对这两个部分的内容还不是太了解,建议你先去了解以下这部分的内容再继续往下读:一文带你看懂 MySQL 存储引擎还不了解 MyISAM 和 InnoDB 的区别?看这里就够了MySQL为什么没有走索引?是这些原因在搞鬼一条SQL语句的坎坷之旅(MySQL底层执行流程分析)不会MySQL调优?来来瞅瞅SQL的执行计划吧1.InnoDB 支持的.转载 2021-01-05 22:38:27 · 808 阅读 · 0 评论 -
JDBC——ThreadLocal原理、完成转账案例
目录分层思想使用JDBC事务分层完成转账案例ThreadLocal的原理编写ConnectionManager工具类优化转账案例分层思想跳转到目录开发中,常使用分层思想不同的层次结构分配不同的解决过程,各个层次间组成严密的封闭系统不同层级结构彼此平等分层的目的是:解耦可维护性可扩展性可重用性不同层次,使用不同的包表示com.itheima ...原创 2020-01-26 09:24:07 · 1260 阅读 · 0 评论 -
JDBC一一Apache Commons.DBUtils工具类的使用、QueryRunner类(封装SQL操作的API)、JavaBean
目录DBUtilsQueryRunner类QueryRunner实现添加、更新、删除操作QueryRunner实现查询操作ResultSetHandler结果集JavaBean是什么?BeanHandlerBeanListHandlerScalarHanderColumnListHandler小结DBUtils跳转到目录如果只使用JDBC进行开发,我们...原创 2020-01-25 09:18:49 · 2972 阅读 · 1 评论 -
JDBC——JDBC中的事务、DBUtils使用事务
目录什么是事务?JDBC中的事务DBUtils使用事务什么是事务?跳转到目录事务概述事务指的是逻辑上的一组操作,组成这组操作的各个单元要么全都成功,要么全都失败.事务作用:保证在一个事务中多次SQL操作要么全都成功,要么全都失败.JDBC中的事务跳转到目录JDBC完成转账功能(加入事务管理)场景: tom 欠 jerry 1000元 使用2条update语句...原创 2020-01-24 23:24:31 · 1364 阅读 · 0 评论 -
JDBC——Spring JDBCTemplate的使用
SpringJDBCJDBCTemplate使用JDBCTemplate练习SpringJDBCSpring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发.目的: 简化JDBC编程JdbcTemplate跳转到目录使用步骤:导入jar包创建JdbcTemplate对象,依赖于DataSourceJdbcTemplate te...原创 2020-01-22 21:21:23 · 2805 阅读 · 0 评论 -
JDBC——DAO组件、设计规范和设计分析
目录DAO组件DAO思想和设计分析DAO设计规范DAO组件设计简单的案例DAO组件跳转到目录DAO思想和设计分析DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。DAO中的主要操作: 增删改查(CRUD)上图存在的问题: 在DAO层中设置save和get方法时void sa...原创 2020-01-22 14:24:47 · 2460 阅读 · 0 评论 -
JDBC——连接池概念、DBCP、c3p0、Druid及其工具类
目录JDBC连接池数据库连接池的概念数据库连接池的实现DBCPc3p0DruidDruid连接池工具类JDBC连接池数据库连接池的概念跳转到目录其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。为什么存在数据库连接池: 因...原创 2020-01-22 14:07:03 · 2410 阅读 · 3 评论 -
JDBC——概述、贾琏欲执事 (加载驱动-建立连接-编写SQL语句-执行SQL-释放连接资源)操作、JDBCUtils工具类
JDBC相关使用主要内容JDBC的使用JDBC概述JDBC操作JDBC各类详解抽取JDBCUtils工具类登录Demo练习JDBC连接池数据库连接池的概念数据库连接池的实现c3p0DruidSpringJDBCJDBCTemplateJDBC的使用JDBC概念Java DataBase Connectivity, Java 数据库连接....原创 2019-12-08 13:49:34 · 4226 阅读 · 5 评论 -
数据库设计、三大范式
数据库设计首先介绍下多表之间的关系1. 多表之间的关系1. 分类: 1. 一对一(了解): * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): * 如:部门和员工 * 分析:一个部门有多个员工,一个员工只能对应一个部门 3. 多对多: * 如:学生和课程 * 分析:一个学生可以选择很多门课程,一个课程也可以被很...原创 2019-12-06 11:23:08 · 3352 阅读 · 0 评论 -
MySQL复习
数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQLMySQL数据库软件1. 卸载 1. 去mysql的安装目录找到my.ini文件 * 复制 datad...原创 2019-12-05 22:49:21 · 11585 阅读 · 8 评论 -
PHP 一一 PHP与MySQL相关操作
1、PHP如何与MySQL进行交互所有由上图可知,PHP想与MySQL进行交互必须有5个步骤。2、五步走:第一步,连接数据库要用到的知识点:mysql_conncect(‘主机名称如localhost’,‘mysql用户名如root’,‘mysql密码如root’)3、五步走:第二步,选择数据库要用到的知识点:mysql_select_db(‘数据库的名称’)4原创 2018-01-08 21:53:10 · 351 阅读 · 1 评论 -
MySQL 一一 MySQL基本使用
1、数据库简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。2、为什么需要数据库3、为什么要学习MySQL数据库最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司)后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库)4、数原创 2018-01-08 21:49:02 · 69171 阅读 · 21 评论