MySQL数据库基础理论、部署与使用

发布时间:2022-11-15 JAVA MYSQL MYSQL数据库 数据库
目录 一、MySQL数据库 Ⅰ、数据库的类型 (1)关系数据库 (2)非关系型数据库(NoSQL) Ⅱ、MySQL数据库的字符类型() 二、MySQL-5.7的部署 Ⅰ、编译安装 Ⅱ、调整配置文件 Ⅲ、初始化数据库  三、MySQL基础操作(增、删、改、查)语句 Ⅰ、查(DML语句) (1)查看所有库 (2)查看指定库的表 (3)查看表结构 (4)查看指定表的指定信息 Ⅱ、增(DDL语句) (1)创建新的库和表 (2)以已创建的表为基准创建表(克隆)  (3)向表中插入数据 Ⅲ、删(DDL语句) (1)删...

MySQL管理常用工具介绍

发布时间:2022-11-10 MYSQL 服务器 MYSQL数据库 数据库
1.mysql 该mysql不是指mysql服务,而是指mysql的客户端工具。  -e选项可以在Mysql客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本, 这种方式尤其方便。 示例:     2、 mysqladmin mysqladmin 是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并 删除数据库等。    示例:   3 、mysqlbinlog 由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文本的文本格式,就会使...

Mysql常用的存储引擎有哪些?

发布时间:2022-11-10 MYSQL 服务器 MYSQL数据库 数据库
1 MySQL体系结构  1). 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程 池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务 器也会为安全接入的每个客户端验证它所具有的操作权限。 2). 服务层 第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部 分内置函数...

MySQL图形管理工具的安装与使用

通过DDL语句执 行在命令进行操作,主要存在以下两点问题: 1).会影响开发效率 ; 2). 使用起来,并不直观,并不方便 ;  所以呢,我们在日常的开发中,会借助于MySQL的图形化界面,来简化开发,提高开发效率。而目前mysql主流的图形化界面工具,有以下几种:  而本次教程中,选择最后一种DataGrip,这种图形化界面工具,功能更加强大,界面提示更加友好, 是我们使用MySQL的不二之选。接下来,我们来介绍一下DataGrip该如何安装、使用。 教程详情:MySQL数据库从入门到精通 1、 安...

MySQL进阶-逻辑框架

发布时间:2022-11-10 MYSQL SQL MYSQL数据库 数据库
逻辑架构组成   【工作流程】  当我们连接MySQL时,这时遇到的是连接池。连接池负责客户端的连接管理、授权认证。 连接建立成功后,假如我们执行一条sql语句。 select id from a where id=1; 首先会到查询缓存中,如果命中则直接返回结果; 解析器 如果没有命中,该语句会到解析器。进行解析,判断你的SQL语句是否正确。 如果语法不对,会收到错误信息提示:“ERROR 1064 (42000): You have an error in your SQL syntax;”。 优...

Mysql中EXPLAIN解读

发布时间:2022-11-11 MYSQL SQL MYSQL数据库 数据库
Explain介绍 当EXPLAIN与可解释的语句一起使用时,MySQL将显示来自优化器的有关语句执行计划的信息。也就是说,MySQL解释了它将如何处理该语句,包括有关如何连接表以及以何种顺序连接表的信息。在select语句之前增加explain关键字,执行后MySQL就会返回执行计划的信息,而不是执行sql。可以通过Explain来查看sql语句中的索引执行情况。 执行结果显示列 id:语句唯一标识。id列的编号是select的序列号,有几个select就会有几个id,并且id是按照select出现的...

MySQL数据库 -- 表的约束

发布时间:2022-11-11 MYSQL MYSQL数据库 数据库
            关于数据库约束的话题,今天来进一步讲解,之前说过,数据类型本身就是一种约束。数据库是和数据打交道的,所以要对数据的管理有非常完整的约束体系。今天我们来谈一谈表结构的约束,下一篇再来讲表的增删查改的操作~ 表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key, auto_increment,unique key  目录 空属性 默认值 not null 和default同时出现时 列描述 zer...

for update的作用和用法

发布时间:2022-11-10 JAVA MYSQL MYSQL数据库 数据库
一、for update定义 for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。行锁永远是独占方式锁。 只有当出现如下之一的条件,才会释放共享更新锁: 1、执行提交(COMMIT)语句 2、退出...

关于Mysql数据库的停止服务修复及修复成功后的导入问题

发布时间:2022-11-29 服务器 MYSQL数据库 数据库
目录 数据库莫名出现报错:服务器启动失败  报错解决方案  第一步 第二步 第三步 第四步 第五步  第六步 第七步 第八步  关于.sql文件的导入步骤 第一步 第二步  第三步 第四步  第五步 第六步 数据库莫名出现报错:服务器启动失败  今天我在用数据库的时候发现了一个很烦的问题,就是我的mysql数据库停止服务了。  然后,我去查看了我的电脑中的服务,但是,我点击启用后该我报了哥这个的提示。 我把“自动”启用改为“手动”启用后,还是依旧出现此提示! 后来我查看了很多书籍,以及官方的修改...

MySQL进阶-索引生效和设计的原则总结

发布时间:2022-11-12 JAVA MYSQL MYSQL数据库 数据库
本文是对索引学习的总结。 MySQL进阶-逻辑框架_兜兜转转m的博客-CSDN博客 MySQL进阶-存储引擎_兜兜转转m的博客-CSDN博客 MySQL进阶—索引1_兜兜转转m的博客-CSDN博客 MySQL进阶-sql执行时间的查询_兜兜转转m的博客-CSDN博客 MySQL进阶-详解索引失效_兜兜转转m的博客-CSDN博客 MySQL进阶-覆盖索引_兜兜转转m的博客-CSDN博客 MySQL进阶-单列索引与联合索引_兜兜转转m的博客-CSDN博客 索引失效的情况 联合索引 在联合索引下,遵循最左前缀...

MySQL进阶-覆盖索引

发布时间:2022-11-12 MYSQL SQL MYSQL数据库 数据库
前文我们讲解了索引失效的原则。已经索引要遵循最左前缀法则。 覆盖索引 原则:尽量使用覆盖索引,减少select *的使用。 那么什么是覆盖索引呢? 覆盖索引是指查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到 。 接下来,我们来看一组SQL的执行计划,看看执行计划的差别,然后再来具体做一个解析。 explain select id, profession from tb_user where profession = '软件工程' and age =31 and status = '0' ;...

MySQL进阶-SQL优化

发布时间:2022-11-13 MYSQL SQL MYSQL数据库 数据库
目录 insert优化 主键优化 页分裂  order by优化 测试: group by优化 limit优化 count优化 update优化 insert优化 如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化。 优化方案一 Insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry'); 批量插入会,会频繁调用事务,因此我们有了第二种优化方案。  优化方案二 手动控制事务 start transaction;insert ...

更改字段的类型

发布时间:2022-11-11 数据库 MYSQL ORACLE SQL MYSQL数据库
前言 一般常用的数据库大致可以分为两大类,一类是结构化数据库,另一类是非结构化数据库。无论是那种数据库,在设计的时候都需要字段的类型,一般情况下,我们都会提前设计好数据库所需要的字段、类型等,然后通过评审会进行评审所设计的数据库是否合理,但是有时候在使用一段时间后,会突然发现当初自己设计的某个字段的类型不合理,此时就需要更改下这个字段的数据类型,虽然很麻烦,但是为了业务的需要,我们必须呀更改,所以我们在设计数据库时一定要有未来性,不能只局限于当下。 1、oracle数据库 在oracle中有时候我们会遇到...

[SQL]视图和权限

发布时间:2022-11-10 MYSQL SQL MYSQL数据库 数据库
有时让用户看到整个基本表是不合适的,出于安全考虑,可能需要向用户隐藏特定的数据。如在instructor关系中隐藏工资值: select ID,name,dept_namefrom instructor; 创建更符合特定用户直觉的个人化的关系集合,如学生成绩表由学生关系和课程关系连接得到。 视图是从一个或几个基本表导出的表视图是一个虚关系,数据库中只存放视图的定义而不存放视图对应的数据,其数据存放在导出视图的基本表中,在使用视图时通过执行查询计算出虚关系。在概念上与基本表等同。视图一经定义,就可以和基本表...

MySql数据类型

发布时间:2022-11-11 MYSQL MYSQL数据库 数据库
一、MySql 的数据类型 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1、数值类型 MySQL 支持所有标准 SQL 数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持 MyISAM、MEMORY...

第五章 单行函数

发布时间:2022-11-13 MYSQL MYSQL数据库 数据库
1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既 提高了代码效率 ,又 提高了可维护性 。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率 。 从函数定义的角度出发,我们可以将函数分成 内置函数 和 自定义函数 。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编...

MySQL进阶-sql执行时间的查询

发布时间:2022-11-11 MYSQL SQL MYSQL数据库 数据库
上一节我们介绍了MySQL的索引,MySQL进阶—索引1_兜兜转转m的博客-CSDN博客 用于提高查询效率。那么我们应该优化哪些库的哪些sql呢? 答案1:肯定是查询频繁的数据库和查询执行时间长的sql。现在我们一一来解决这个问题。 首先如何判断一个数据库是否是查询频繁呢?我们可以看它的状态信息 SHOW GLOBAL STATUS LIKE 'Com_______';  我们主要关注: Com_delete: 删除次数 Com_insert: 插入次数Com_select: 查询次数Com_updat...

CentOS部署Ferry系统

发布时间:2022-11-13 LINUX系统 DOCKER LINUX MYSQL数据库 DOCKER容器
1、Docker运行mysql容器: docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5 2、进入到mysql中添加数据库: [root@vm1 ~]# docker exec -it mysql5 /bin/bashroot@98d13d56f234:/# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands en...

MySQL 总结char与varchar的区别

发布时间:2022-11-15 JAVA MYSQL MYSQL数据库 数据库
MySQL手册中有提到:CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度以及是否保留尾部空格等方面也不同,在存储或检索过程中不进行大小写转换 用户定义数据时,char和varchar类型长度表示想保存的最大字符数,其中char(M)定义的列的长度为固定的,M的取值可以0-255之间,保存char类型数据时,在它们的右边填充空格以达到指定的长度。当检索到char值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换,char存储定长数据很方便,char字段上的索引效率很高。...

hibernate中错误解决

发布时间:2022-11-16 JUNIT JAVA HIBERNATE MYSQL数据库
第一次写问题记录,在网上找了许久但还没解决 <property name=hibernate.hbm2ddl.auto>update</property> 设置成update,应该是会自动生成表。但是它却没生成。 package hibernatetest;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hiber...

HeidiSQL的符号#截取sql的bug

记录一个HeidiSQL的使用BUG: 准备在mysql数据库执行下面的语句: UPDATE ceshi_table SET aa= '123#qwe' WHERE bb = '1111'; sql很简单,就是正常的更新语句,有where条件; 但是HeidiSQL提示了下面的弹窗: 如果你不小心点了 “是”  那么恭喜你你的全表的  “aa” 字段都会被更新为 ‘123’ 惊不惊喜意不意外 通过这个现象,基本可以推断出,HeidiSQL对 符号 ‘#’ 做了特殊处理,导致你的sql被截取成 UPDA...

ubuntu20.0.4安装mysql(三步搞定,已验证)

发布时间:2022-11-10 JAVA MYSQL MYSQL数据库 数据库
第一步:更新apt源,下载mysql 更新apt源: sudo apt-get update 安装mysql服务: sudo apt-get install mysql-server 第二步:使用root登陆mysql(无密码) mysql -uroot -p 第三步:修改mysql密码 alter user'root'@'localhost' identified with mysql_native_password by '新密码';...

MySQL数据库(Java的数据库编程:JDBC)

发布时间:2022-11-16 JAVA MYSQL MYSQL数据库 数据库
  作者:渴望力量的土狗 博客主页:渴望力量的土狗的博客主页 专栏:MySQL数据库 目录 什么是数据库编程: 什么是JDBC?  JDBC工作原理:  JDBC的使用及相关操作:  JDBC开发案例:  JDBC常用接口和类:  数据库连接Connection  Statement对象 ResultSet对象   什么是数据库编程: 数据库编程要有3个基本条件: 1、编程语言,如Java,c++/c,Python等等 2、数据库 如MySQL,Oracle,SQL Server等等 3、数据...

第三章 排序和分页

发布时间:2022-11-13 JAVA MYSQL MYSQL数据库 数据库
1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC(ascend): 升序 DESC(descend):降序ORDER BY 子句在SELECT语句的结尾。 1.2 单列排序 SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ; SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER ...

Failed to stop mysql.service: Unit mysql.service not loaded

发布时间:2022-11-17 MYSQL LINUX MYSQL数据库 数据库
问题 笔者希望通过systemctl stop mysql关闭mysql服务,报错 Failed to stop mysql.service: Unit mysql.service not loaded 详细问题 解决方案 使用 systemctl stop mariadb.service 关闭mysql服务 即 原因 由于MySQL在CentOS7中收费,所以已经不支持MySQL。 建议直接安装mariadb。mariadb安装教程使用 systemctl stop mariadb.service ...

mysql数据库主从架构原理

发布时间:2022-11-16 数据库 MYSQL 架构 LINUX运维 MYSQL数据库
数据库的架构原则 高可用高性能可拓展一致性 数据库常用的架构 目前市面上常用的架构主要有两种: 1、一主多从 2、双机热备 那么我们思考下,什么是一主多从呢? 一主多从 一主多从指的是,当我们客户端发起读写请求的时候,我们会从mysql服务进行读写数据。假设我们目前有三台mysql服务,其中一台作为主master服务,另外两台作为从salve。master拥有读写的权限,主要承担了写的工作,salve只有读的权限,主要承担了读的操作。当客服端发起请求时,他会将请求分流,实现读写分离。 优点 1、读写分离,...

触发器(1)

发布时间:2022-11-18 MYSQL SQL MYSQL数据库 数据库
触发器(1) 1.简介 触发器:和存储过程一样也是能够完成特定功能的的sql片段,触发器不需要调用,当对数据表中的数据进行DML操作的时候会自动触发 DML:数据操纵语言,就是增删改查 2.条件准备 学生表和日志信息表-- 学生表 CREATE TABLE students(stunum INT PRIMARY KEY autoincrement,stuname VARCHAR(20) not NULL,stugender CHAR(2) not NULL,stu_age int not NULL); -...

MySQL进阶—索引1

发布时间:2022-11-11 数据结构 MYSQL数据库
索引 索引概述 介绍 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构 上实现高级查找算法,这种数据结构就是索引。 索引就是一种数据结构,这种结构类似,链表,树等等。但是比它们要复杂的多。 为什么要用索引呢? 假如我们有如下数据 如果我们要查询年龄=45的全部信息。 select * from tb_user where age = 45; 那么SQL是如...

MySQL进阶-详解索引失效

发布时间:2022-11-12 JAVA MYSQL MYSQL数据库 数据库
目录 explain 索引使用 验证索引效率 索引建立的准则 最左前缀法则  范围查询  索引失效情況 数据分布影响 我们之前介绍过查询sql的时间的查询。MySQL进阶-sql执行时间的查询_兜兜转转m的博客-CSDN博客 其实开发人员主要还是使用explain。 explain EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行 过程中表如何连接和连接的顺序。 -- 直接在select语句之前加上关键字 explain / desc...

MySQL版本号6和7去哪了

发布时间:2022-11-17 JAVA MYSQL MYSQL数据库 数据库
问题 MySQL版本号6和7去哪了 详细问题 笔者起初误以为MySQL版本号6和7可能由于存在诟病不受欢迎或由于MySQL版本迭代过快导致未能在市场上流行 但是在浏览MySQL官网注意到 MySQL在2017年发布了新的版本8.0,但是在此之前的上一一个版本是5.7,40,那么中间的6和7去哪了呢? 原因 早在2008年,Sun收购MySQL AB以前,公司 内部已经在进行着版本号6的开发工作了(5.0 在2005年发布)。然而,版本6的MySQL制定 的目标和计划过于激进,步子迈得有点儿大, 随着收购的...

第十三章 存储过程与函数

发布时间:2022-11-15 JAVA 数据库 MYSQL数据库 服务器
1. 存储过程概述 1.1 理解 含义:存储过程的英文是 Stored Procedure 。它的思想很简单,就是一组经过 预先编译 的 SQL 语句 的封装。 执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。 好处: 1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力 2、减少操作过程中的失误,提高效率 3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发...

第十二章 视图

发布时间:2022-11-15 JAVA SQL MYSQL数据库 数据库
1. 常见的数据库对象 2. 视图概述 2.1 为什么使用视图? 视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。 刚才讲的只是视图的一个使用场景,实际上视图还有很多作用。最后,我们总结视图的优点。 2.2 视图的理解 视图是一种虚拟表 ,本身是不具有...

Mysql语句报错: Incorrect string value: for column ‘room_type‘ at row 1

发布时间:2022-11-11 MYSQL MYSQL数据库 数据库
当你执行MySqlt插入含中文内容时,出现Error Code: 1366. Incorrect string value: '\xE6\x80\xBB\xE7\xBB\x9F...' for column 'room_type' at row 1    0.000 sec 检查发现自己字段使用 varchar类型的也使用英文状态下的单引号或双引号了啊,而且创建表也没问题 create table hotel_room( room_number varchar(12) not null comment'...

Windows安装MySQL8.0

发布时间:2022-11-22 MYSQL WINDOWS MYSQL数据库 数据库
下载地址:https://dev.mysql.com/downloads/file/?id=476233 进入页面后可以不登录。后点击底部“No thanks, just start my download.” 即可开始下载 直接加压 在安装根目录新建my.ini,加入以下配置 [mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\MySQL8.0\mysql-8.0.11-winx64# 设置mysql数据库的数据的存放目录datadir=D:\MyS...

MySQL索引理解

发布时间:2022-11-23 数据结构 MYSQL MYSQL数据库 数据库
目录 什么是索引? 索引的好处 思考一个小问题, 索引这么好, 那是不是越多越好? 索引分类 索引的创建和删除 explain字段解释 索引底层数据结构 区分MyISAM和InnoDB存储引擎来再认知聚簇非聚簇索引 什么是索引? 索引: 类似于目录的帮助快速检索数据的一种数据结构. 辅助结构. 从小最早接触到索引在哪里?  门牌号, 新华字典的目录。。。根据目录(索引) 快速检索data.在MySQL的存储引擎中, 索引大多采取的是索引B+树作为底层数据结构来实现的. 当然也存在hash索引. 自适应...

第十一章 约束

发布时间:2022-11-15 JAVA SQL MYSQL数据库 数据库
1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑: 实体完整性(Entity Integrity) :例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(Domain Integri...

MySQL-Redis进阶生成全局唯一ID

发布时间:2022-11-17 REDIS MYSQL MYSQL数据库 数据库
单体全局ID 场景一、随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。 因此我们要生成全局唯一ID,这个ID得有以下特性。 全局唯一性:订单ID不能重复高可用:至少要做到4个9,不能动不动宕机递增:有序性保证数据插入MySQL的时候性能高安全:不容易被猜测高性能:高并发低延时     ID的组成部分:符号位:1bit,永远为0 时间戳:31bi...

第十五章 触发器

发布时间:2022-11-16 MYSQL MYSQL数据库 数据库
前言 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如 商品信息 和 库存信息 分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用 事务 包裹起来,确保这两个操作成为一个 原子操作 ,要么全部执行,要么全部不执行。要是遇到特殊情况,可能还需要对数据进行手动维护,这样就很 容易忘记其中的一步 ,导致数据缺失。这个时候,咱们可以使用触发器。你可以创...

MySQL数据库 -- 表的增删查改

发布时间:2022-11-15 MYSQL MYSQL数据库 数据库
                               今天来讲MySQL数据库的表增删查改操作。今天主要是通过栗子来演示语法使用的,话不多说,直奔主题~ 表的增删查改: CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 目录 Create 单行数据 + 全列插入  多行数据 + 指定列插入   插入否则更新 替换 ​编辑Retrieve select列  全列查询 指定列查询  查询字段为表达式  结果去重 where条件 >, &g...

MySQL进阶-存储引擎

发布时间:2022-11-12 MYSQL MYSQL数据库 数据库
之前我们介绍了存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取。 现在我们来详细介绍一个存储引擎。 首先我们了解一个概念,不同引擎在不同场景下应用不同,没有一个引擎适用于任何场景。 就好比:直升机,舰载机,火箭他们三者的引擎在各自领域都是适用的,但是不能交换使用。  而对于存储引擎,也是一样,他是mysql数据库的核心,我们也需要在合适的场景选择合适的存储引擎。存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为...

第二章 运算符

发布时间:2022-11-13 开发语言 JAVA 正则表达式 MYSQL数据库
1. 算术运算符 2. 比较运算符 3. 逻辑运算符 4. 位运算符 5. 运算符的优先级 5. 正则表达式 查询以特定字符或字符串开头的记录 字符‘^’匹配以特定字符或者字符串开头的文本。 mysql> SELECT * FROM fruits WHERE f_name REGEXP '^b'; 查询以特定字符或字符串结尾的记录 字符‘$’匹配以特定字符或者字符串结尾的文本。 mysql> SELECT * FROM fruits WHERE f_name REGEXP 'y$...

MySQL数据库 -- 内置函数

发布时间:2022-11-19 MYSQL MYSQL数据库 数据库
          今天来一起学习MySQL数据库的内置函数。 目录  日期函数 current_date current_time  current_timestamp date_add date_sub   datediff 实例演示  创建一张表,记录生日 创建一个留言表  字符串函数  charset   concat length  replace  substring  ucase/lcase  instr  left/right  ltrim/rtrim/trim  案例实验  以首字母小写...

MySQL数据库 -- 表的内连和外连

发布时间:2022-11-20 MYSQL SQL MYSQL数据库 数据库
              表的连接分为内连接和外连接。这个也是学数据库的重点。放心,但不是难点,今天我们一起来解开它的面纱~ 目录 内连接 案例:显示SMITH的名字和部门名称 外连接 左外连接 查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来 右外连接 列出部门名称和这些部门的员工信息,同时列出没有员工的部门 总结 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 语法: s...

MySQL数据库 -- 复合查询

发布时间:2022-11-20 MYSQL MYSQL数据库 数据库
                           目录 基本查询回顾 多表查询  显示雇员名、雇员工资以及所在部门的名字 两张表做笛卡尔积 显示部门号为10的部门名,员工名和工资  显示各个员工的姓名,工资,及工资级别  自连接 显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号--empno) 子查询 单行子查询 显示SMITH同一部门的员工 多行子查询  in关键字 all关键字  any关键字  多列子查询  案例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人 ...

第四章 多表查询

发布时间:2022-11-13 JAVA MYSQL MYSQL数据库 数据库
1. 一个案例引发的多表连接 1.1 案例说明 获取数据: #案例:查询员工的姓名及其部门名称SELECT last_name, department_nameFROM employees, departments; 错误分析: SELECT COUNT(employee_id) FROM employees;#输出107行SELECT COUNT(department_id)FROM departments;#输出27行SELECT 107*27 FROM dual; 我们把上述多表查询中出现的...

MySQL数据库安装(Linux系统详细安装大全)

发布时间:2022-11-12 MYSQL MYSQL数据库 数据库
安装前准备 上传安装包文件夹 1,准备MySQL所需的五个文件夹 注意:安装MySQL所需文件夹为四个,分别是:client,common,lib,server文件夹,我这里多了一个devel文件夹是因为我后续需要安装hive数据库。 2,把文件夹通过软件上传到root文件夹下面 注意:Linux上面的。rpm包相当于window上面的.exe包,即为离线安装包     注意,在Linux上面不能直接安装这些安装包,因为直接安装会安装不上,因为Linux系统在安装以后会自动安装一些MySQL的依赖包 ...

第七章 子查询

发布时间:2022-11-13 SQL MYSQL数据库 数据库
1. 需求分析与问题解决 1.1 实际问题 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集 合)进行比较。 现有解决方式: #方式一:SELECT salaryFROM employeesWHERE last_name = 'Abel';SELECT last_na...

Android移动开发基础

发布时间:2022-11-11 JAVA ANDROID MYSQL数据库 数据库
关系型数据库:sql语句:结构化的查询语言 DDL:数据定义语言: ​ create alter drop DML:数据操作语言.(数据的增删改) ​ 添加:insert into 表名(字段1,字段2…) values(值1,值2…); ​ 修改:update 表名 set 字段1=值1,字段2=值2 where [条件]; ​ 删除:delete from 表名 where 条件 DQL:数据查询语言: ​ select * from 表名;全查 ​ 排序查询: ​ select * from 表名 ...