Mysql&Navicat
文章平均质量分 75
Mysql&Navicat
兮动人
世间味趣亦如此,万物且去轮浮生。
展开
-
【mysql】索引的基本使用
1. 索引的声明与使用1.1 索引的分类1.2 创建索引1.2.1 创建表的时候创建索引(隐式)1.2.2 在已经存在的表上创建索引(显式)1、创建普通索引2、创建唯一索引3、主键索引4、创建单列索引5、创建联合索引6、创建全文索引7、创建空间索引1.3 删除索引1.4 在已经存在的表上创建索引1.4.1 使用ALTER TABLE语句创建索引1.4.2 使用CREATE INDEX ON语句创建索引2. 隐藏索引原创 2022-12-30 13:42:32 · 2316 阅读 · 0 评论 -
【mysql】JOIN的实现
7种SQL JOINS的实现原创 2022-02-16 14:16:41 · 490 阅读 · 0 评论 -
【mysql】大小写规范
SQL 大小写规范1. Windows和Linux平台区别- 在SQL中,关键字和函数名是不用区分字母大小写的,比如`SELECT、WHERE、 ORDER、 GROUP BY`等关键字,以及`ABS、MOD、 ROUND、 MAX` 等函数名。- 不过在SQL中,还是要确定大小写的规范,因为在Linux和Windows环境下,可能会遇到不同的大小写问题。**Windows系统默认大小写不敏感,但是Linux系统是大小写敏感的。**- 通过如下命令查看:...原创 2022-07-08 11:05:21 · 2880 阅读 · 0 评论 -
【mysql】字符集与比较规则
可以看到 字符集 对应的规则如下,utf8 占用 3 个字节,utf8mb4 占用 4 个字节2. 比较规则上表中,MySQL版本共支持41种字符集,其中的 列表示这种字符集中一种默认的比较规则,里面包含着该比较规则主要作用于哪种语言,比如表示以波兰语的规则此较,是以西班牙语的规则比较,是一种通用的比较规则。后缀表示该比较规则是否区分语言中的重音、大小写。具体如下:后缀英文释义描述_aiaccent insensitive不区分重音_asaccent sen原创 2022-07-08 10:18:07 · 396 阅读 · 0 评论 -
【mysql】字符集的相关操作
MySQL 8.0 中执行:MySQL 5.7 中执行:MySQL 5.7默认的客户端和服务器都用了,不支持中文,保存中文会报错。在mysql8.0 当中,直接创建数据库添加数据是没有问题的,因为默认的字符集是 ,但在 mysql5.7 下创建数据库添加数据时,当添加中文字符时就会报错,原因是mysql5.7默认的字符集是所以,在Linux环境中装好 mysql5.7 时,要修改默认的字符集操作2:修改字符集在MySQ5.7或之前的版本中,在文件最后加上中文字符集配置:在 mysqld原创 2022-07-07 20:03:43 · 431 阅读 · 0 评论 -
【mysql】触发器
MySQL从版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由某个操作,这些事件包括、、事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。说明::表示触发器监控的对象。:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。:表示触发的事件原创 2022-07-05 22:12:03 · 258 阅读 · 0 评论 -
【mysql】游标的基本使用
虽然可以通过筛选条件 和 ,或者是限定返回记录的关键字 返回一条记录,但是,却无法在结果集中像指针一样,向前定位一条记录、向后定位一条记录,或者是,并对记录的数据进行处理。这个时候,就可以用到游标。游标,提供了一种灵活的操作方式,能够对结果集中的每一条记录进行定位,并对指向的记录中的数据进行操作的数据结构。游标让 SQL 这种面向集合的语言有了面向过程开发的能力。在 SQL 中,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针。这里游标,可以通过操作游标来对数据行进行操作。MySQL中游原创 2022-07-04 22:07:56 · 8117 阅读 · 0 评论 -
【mysql】变量的基本使用
在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。在 MySQL 数据库中,变量分为以及。变量由系统定义,不是用户定义,属于层面。启动MySQL服务,生成MySQL服务实例期间,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特征。这些系统变量的值要么是的默认值,要么是(例如等)中的参数值。可以通过网址 查看MySQL文档的系统变量。系统变量分为全局系统变量(需要添加 关键字)以及会话系统变量(需要原创 2022-06-16 23:36:54 · 2682 阅读 · 0 评论 -
【mysql】非空约束
文章目录非空约束1. 作用2. 关键字3. 特点4. 添加非空约束5. 删除非空约束非空约束1. 作用限定某个字段/某列的值不允许为空2. 关键字NOT NULL3. 特点默认,所有的类型的值都可以是NULL,包括INT、FLOAT等数据类型非空约束只能出现在表对象的列上,只能某个列单独限定非空,不能组合非空一个表可以有很多列都分别限定了非空空字符串’'不等于NULL,0也不等于NULL4. 添加非空约束(1)建表时CREATE TABLE 表名称( 字段原创 2022-03-03 14:48:33 · 3554 阅读 · 0 评论 -
【mysql】约束的分类
文章目录1. 约束(constraint)概述1.1 为什么需要约束1.2 什么是约束1.3 约束的分类1. 约束(constraint)概述1.1 为什么需要约束数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑:实体完整性(Entity Int原创 2022-03-03 14:30:45 · 604 阅读 · 0 评论 -
【mysql】创建和管理表
创建和管理表1. 基础知识1.1 一条数据存储的过程存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。要先创建一个数据库,而不是直接创建数据表呢?因为从系统架构的层次上看,MySQL 数据库系统从大到小依次是数据库服务器、数据库、数据表、数据表的原创 2022-03-03 12:12:50 · 605 阅读 · 0 评论 -
【mysql】drop、truncate和delete的区别
文章目录1. drop:删除数据库2. 对比 TRUNCATE TABLE 和 DELETE FROM3. DDL 和 DML 的说明1. drop:删除数据库drop语句将表所占用的空间全释放掉。drop > truncate > delete方式1:如果要删除的数据库存在,则删除成功。如果不存在,则报错DROP DATABASE mytest1;方式2:推荐。 如果要删除的数据库存在,则删除成功。如果不存在,则默默结束,不会报错。DROP DATABASE IF EXIS原创 2022-03-03 11:47:24 · 10073 阅读 · 3 评论 -
【mysql】子查询
文章目录子查询1. 需求分析与问题解决1.1 实际问题1.2 子查询的基本使用1.3 子查询的分类2. 单行子查询2.1 单行比较操作符2.2 代码示例2.3 HAVING 中的子查询2.4 CASE中的子查询2.5 子查询中的空值问题2.5 非法使用子查询3. 多行子查询3.1 多行比较操作符3.2 代码示例3.3 空值问题4. 相关子查询4.1 相关子查询执行流程4.2 代码示例4.3 EXISTS 与 NOT EXISTS关键字4.4 相关更新4.4 相关删除5. 抛一个思考题子查询子查询指一个查原创 2022-03-02 12:17:34 · 253 阅读 · 0 评论 -
【mysql】聚合函数
文章目录1. 聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数2. GROUP BY2.1 基本使用2.2 使用多个列分组2.3 GROUP BY中使用WITH ROLLUP3. HAVING3.1 基本使用3.2 WHERE和HAVING的对比4. SELECT的执行过程4.1 查询的结构4.2 SELECT执行顺序4.3 SQL 的执行原理聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。1. 聚合函数介绍什原创 2022-02-25 22:21:27 · 751 阅读 · 0 评论 -
【mysql】其他函数
【mysql】其他函数原创 2022-02-25 22:10:34 · 672 阅读 · 0 评论 -
MySQL信息函数
MySQL信息函数MySQL中内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地对数据库进行维护工作。函数用法VERSION()返回当前MySQL的版本号CONNECTION_ID()返回当前MySQL服务器的连接数DATABASE(),SCHEMA()返回MySQL命令行当前所在的数据库USER(),CURRENT_USER()、SYSTEM_USER(),SESSION_USER()返回当前连接MySQL的用户名,原创 2022-02-25 22:09:18 · 652 阅读 · 0 评论 -
【mysql】加密与解密函数
加密与解密函数加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在保证数据库安全时非常有用。函数用法PASSWORD(str)返回字符串str的加密版本,41位长的字符串。加密结果不可逆,常用于用户的密码加密MD5(str)返回字符串str的md5加密后的值,也是一种加密方式。若参数为NULL,则会返回NULLSHA(str)从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL。SHA加密算法比M原创 2022-02-25 22:08:13 · 8357 阅读 · 2 评论 -
【mysql】流程控制函数
文章目录流程控制函数流程控制函数流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。函数用法IF(value,value1,value2)如果value的值为TRUE,返回value1,否则返回value2IFNULL(value1, value2)如果value1不为NULL,返回value1,否则返回value2CASE WHEN 条件1 T原创 2022-02-25 22:06:16 · 1357 阅读 · 3 评论 -
【mysql】日期和时间函数
文章目录日期和时间函数1. 获取日期、时间2. 日期与时间戳的转换3. 获取月份、星期、星期数、天数等函数4. 日期的操作函数5. 时间和秒钟转换的函数6. 计算日期和时间的函数7. 日期的格式化与解析日期和时间函数1. 获取日期、时间函数用法CURDATE() ,CURRENT_DATE()返回当前日期,只包含年、月、日CURTIME() , CURRENT_TIME()返回当前时间,只包含时、分、秒NOW() / SYSDATE() / CURRENT_TIME原创 2022-02-25 22:03:37 · 602 阅读 · 0 评论 -
【mysql】字符串函数
字符串函数函数用法ASCII(S)返回字符串S中的第一个字符的ASCII码值CHAR_LENGTH(s)返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同LENGTH(s)返回字符串s的字节数,和字符集有关CONCAT(s1,s2,…,sn)连接s1,s2,…,sn为一个字符串CONCAT_WS(x, s1,s2,…,sn)同CONCAT(s1,s2,…)函数,但是每个字符串之间要加上xINSERT(str, idx, len原创 2022-02-24 23:16:42 · 234 阅读 · 0 评论 -
【mysql】数值函数
文章目录数值函数1. 基本函数2. 角度与弧度互换函数3. 三角函数4. 指数与对数5. 进制间的转换数值函数1. 基本函数函数用法ABS(x)返回x的绝对值SIGN(X)返回X的符号。正数返回1,负数返回-1,0返回0PI()返回圆周率的值CEIL(x),CEILING(x)返回大于或等于某个值的最小整数FLOOR(x)返回小于或等于某个值的最大整数LEAST(e1,e2,e3…)返回列表中的最小值GREATEST(e1,e2,e3原创 2022-02-24 23:12:04 · 1123 阅读 · 0 评论 -
【mysql】内置函数及分类
文章目录单行函数1. 函数的理解1.1 什么是函数1.2 不同DBMS函数的差异1.3 MySQL的内置函数及分类单行函数1. 函数的理解1.1 什么是函数函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地提高用户对数据库的管理效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语原创 2022-02-24 23:09:04 · 362 阅读 · 0 评论 -
【mysql】空间类型
空间类型MySQL 空间类型扩展支持地理特征的生成、存储和分析。这里的地理特征表示世界上具有位置的任何东西,可以是一个实体,例如一座山;可以是空间,例如一座办公楼;也可以是一个可定义的位置,例如一个十字路口等等。MySQL中使用Geometry(几何)来表示所有地理特征。Geometry指一个点或点的集合,代表世界上任何具有位置的事物。MySQL的空间数据类型(Spatial Data Type)对应于OpenGIS类,包括单值类型:GEOMETRY、POINT、LINESTRING、POLYG原创 2022-02-24 17:10:00 · 1922 阅读 · 0 评论 -
【mysql】JSON 类型
JSON 类型JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。在MySQL 5.7中,就已经支持JSON数据类型。在MySQL 8.x版本中,JSO原创 2022-02-24 17:05:15 · 1080 阅读 · 0 评论 -
【mysql】二进制字符串类型
二进制字符串类型MySQL中的二进制字符串类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据。MySQL中支持的二进制字符串类型主要包括BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB类型。1. BINARY与VARBINARY类型BINARY和VARBINARY类似于CHAR和VARCHAR,只是它们存储的是二进制字符串。BINARY (M)为固定长度的二进制字符串,M表示最多能存储的字节数,取值范围是原创 2022-02-24 16:11:06 · 4099 阅读 · 0 评论 -
【mysql】SET类型
SET类型SET表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64。设置字段值时,可以取 取值范围内的 0 个或多个值。当SET类型包含的成员个数不同时,其所占用的存储空间也是不同的,具体如下:成员个数范围(L表示实际成员个数)占用的存储空间1 <= L <= 81个字节9 <= L <= 162个字节17 <= L <= 243个字节25 <= L <= 324个字节33原创 2022-02-24 15:26:52 · 13965 阅读 · 7 评论 -
【mysql】ENUM类型
ENUM类型ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。其所需要的存储空间由定义ENUM类型时指定的成员个数决定。文本字符串类型长度长度范围占用的存储空间ENUML1 <= L <= 655351或2个字节当ENUM类型包含1~255个成员时,需要1个字节的存储空间;当ENUM类型包含256~65535个成员时,需要2个字节的存储原创 2022-02-24 15:09:17 · 8316 阅读 · 0 评论 -
【mysql】文本字符串类型
文章目录文本字符串类型1. CHAR与VARCHAR类型2. TEXT类型3. 开发中经验文本字符串类型在实际的项目中,经常遇到一种数据,就是字符串数据。MySQL中,文本字符串总体上分为CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET等类型。1. CHAR与VARCHAR类型CHAR和VARCHAR类型都可以存储比较短的字符串。字符串(文本)类型特点长度长度范围占用的存储空间CHAR(M)固原创 2022-02-24 14:54:05 · 7784 阅读 · 0 评论 -
【mysql】日期与时间类型
日期与时间类型日期与时间是重要的信息,在我们的系统中,几乎所有的数据表都用得到。原因是客户需要知道数据的时间标签,从而进行数据查询、统计和处理。MySQL有多种表示日期和时间的数据类型,不同的版本可能有所差异,MySQL8.0版本支持的日期和时间类型主要有:YEAR类型、TIME类型、DATE类型、DATETIME类型和TIMESTAMP类型。YEAR类型通常用来表示年DATE类型通常用来表示年、月、日TIME类型通常用来表示时、分、秒DATETIME类型通常用来表示年、原创 2022-02-23 22:01:39 · 7743 阅读 · 0 评论 -
【mysql】位类型BIT
【mysql】位类型BIT原创 2022-02-23 15:03:27 · 1460 阅读 · 0 评论 -
【mysql】定点类型
文章目录定点数类型1. 类型介绍2. 浮点数 vs 定点数3. 开发中经验定点数类型1. 类型介绍MySQL中的定点数类型只有 DECIMAL 一种类型。数据类型字节数含义DECIMAL(M,D),DEC,NUMERICM+2字节有效范围由M和D决定使用 DECIMAL(M,D) 的方式表示高精度小数。其中,M被称为精度,D被称为标度。0<=M<=65,0<=D<=30,D<M。例如,定义DECIMAL(5,2)的类型,表示该列取原创 2022-02-23 14:28:56 · 1536 阅读 · 0 评论 -
【mysql】浮点类型
文章目录浮点类型1. 类型介绍2. 数据精度说明3.3 精度误差说明浮点类型1. 类型介绍浮点数和定点数类型的特点是可以处理小数,你可以把整数看成小数的一个特例。因此,浮点数和定点数的使用场景,比整数大多了。 MySQL支持的浮点数类型,分别是 FLOAT、DOUBLE、REAL。FLOAT 表示单精度浮点数;DOUBLE 表示双精度浮点数;REAL默认就是 DOUBLE。如果把 SQL 模式设定为启用“REAL_AS_FLOAT”,那 么,MySQL 就认为 REAL 是原创 2022-02-23 13:40:40 · 10688 阅读 · 3 评论 -
【mysql】整数类型
文章目录整数类型1. 类型介绍2. 可选属性2.1 M2.2 UNSIGNED2.3 ZEROFILL3. 适用场景4. 如何选择?整数类型1. 类型介绍整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。它们的区别如下表所示:整数类型字节有符号数取值范围无符号数取值范围TINYINT1-128~1270~255SMALLINT2-32768~327670~65535原创 2022-02-23 10:40:01 · 4158 阅读 · 0 评论 -
【mysql】常用的数据类型
文章目录1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择?1. MySQL中的数据类型类型类型举例整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT浮点类型FLOAT、DOUBLE定点数类型DECIMAL位类型BIT日期时间类型YEAR、TIME、DATE、DATETIME原创 2022-02-18 11:13:53 · 1398 阅读 · 0 评论 -
【mysql】NATURAL JOIN 和 USING 连接
文章目录SQL99语法新特性1. 自然连接2. USING连接3. 章节小结4. 常用的 SQL 标准有哪些SQL99语法新特性1. 自然连接SQL99 在 SQL92 的基础上提供了一些特殊语法,比如 NATURAL JOIN 用来表示自然连接。我们可以把自然连接理解为 SQL92 中的等值连接。它会帮你自动查询两张连接表中所有相同的字段,然后进行等值连接。在SQL92标准中:SELECT employee_id,last_name,department_nameFROM empl原创 2022-02-16 14:35:24 · 435 阅读 · 0 评论 -
【mysql】union的使用
UNION的使用合并查询结果利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同,并且相互对应。各个SELECT语句之间使用UNION或UNION ALL关键字分隔。语法格式:SELECT column,... FROM table1UNION [ALL]SELECT column,... FROM table2UNION操作符UNION 操作符返回两个查询的结果集的并集,去除重复记录。UNION ALL原创 2022-02-16 13:58:11 · 1104 阅读 · 0 评论 -
【mysql】SQL99语法实现多表查询
3. SQL99语法实现多表查询3.1 基本语法使用JOIN...ON子句创建连接的语法结构:SQL99语法中使用 JOIN ...ON 的方式实现多表的查询。这种方式也能解决外连接的问题。MySQL是支持此种方式的。 SELECT table1.column, table2.column,table3.column FROM table1 JOIN table2 ON table1 和 table2 的连接条件 JOIN table3 ON table2原创 2022-02-14 15:31:09 · 555 阅读 · 0 评论 -
【mysql】多表查询的分类
多表查询分类讲解分类1:等值连接 vs 非等值连接等值连接SELECT employees.employee_id, employees.last_name, employees.department_id, departments.department_id, departments.location_idFROM employees, departmentsWHERE employees.department_id = departments.depart原创 2022-02-14 15:22:51 · 589 阅读 · 0 评论 -
【mysql】多表查询
文章目录多表查询1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积(或交叉连接)的理解1.3 案例分析与问题解决多表查询多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。1. 一个案例引发的多表连接1.1 案例说明查询员工名为’Abel’的人在哪个城市工作?SELECT原创 2022-02-13 15:53:38 · 568 阅读 · 0 评论 -
【mysql】limit实现分页
分页1. 使用limit实现数据的分页显示需求1:每页显示20条记录,此时显示第1页SELECT employee_id,last_nameFROM employeesLIMIT 0,20;需求2:每页显示20条记录,此时显示第2页SELECT employee_id,last_nameFROM employeesLIMIT 20,20;需求3:每页显示20条记录,此时显示第3页SELECT employee_id,last_nameFROM employeesLI原创 2022-02-13 13:55:58 · 21308 阅读 · 11 评论