MySQL
愚公移山山不移
这个作者很懒,什么都没留下…
展开
-
MySQL学习-常用函数和关键字总结
#如果条件为 TRUE,IF() 函数返回一个值,如果条件为 FALSE,则返回另一个值。3、round函数,用于四舍五入,ROUND(分组函数,常用于结果显示或分组计算。2、if函数,结构IF(原创 2023-10-18 15:48:05 · 30 阅读 · 0 评论 -
MySQL学习-group by 函数
group by是开发中经常用到的SQL语句,从字面意思来看就是根据哪个字段或者哪几个字段对查询到的数据进行分组统计,既然是分组统计那如何分组呢?select 聚合函数(字段1),字段2 from 表名 where 条件 group by 字段2,字段3 having 过滤条件。select 聚合函数(字段1),字段2 from 表名 where 条件 group by 字段2,字段3。使用了group by 后,要求select出的结果字段都是可汇总的,否则就会出错。原创 2023-10-16 23:49:15 · 323 阅读 · 0 评论 -
MySQL学习-判断数据未null表述
若为空,原数据用null表示,要用is判断,eg:where referee_id。判断一个字段是否是数字使用正则表达式 eg : 不等于!原创 2023-10-14 21:28:35 · 25 阅读 · 1 评论 -
MySQL学习-如何利用好笛卡尔积
或select * from 表1 cross join 表2;查询出双表所有的笛卡尔积使用select * from 双表名。原创 2023-10-18 22:09:47 · 25 阅读 · 0 评论 -
MySQL学习-文件读取路径设置
load函数具体参考详细文件。2、需要在最后加上文件名。文件路径需要注意两点。原创 2023-10-14 11:07:32 · 89 阅读 · 1 评论 -
MySQL学习-自连接查询问题
自连接时,可以不指定字段名,需要修改表名,这样查询结果时,第二个表字段名会显示为新表名.字段名,原表会显示为旧表名.字段名。原创 2023-10-18 22:47:22 · 25 阅读 · 0 评论 -
MySQL学习-索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构 上实现高级查找算法,这种数据结构就是索引。Hash索引 底层数据结构是用哈希表实现的, 只有精确匹配索引列的查询才有效, 不 支持范围查询。B+Tree索引 最常见的索引类型,大部分引擎都支持 B+ 树索引。#我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引。原创 2023-10-08 12:47:20 · 19 阅读 · 1 评论 -
MySQL学习-事务
事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系 统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。注意: 默认MySQL的事务是自动提交的,也就是说,当执行完一条DML语句时,MySQL会立即隐 式的提交事务。#注意:上述的这种方式,我们是修改了事务的自动提交行为, 把默认的自动提交修改为了手动提 交, 此时我们执行的DML语句都不会提交, 需要手动的执行commit进行提交。赃读:一个事务读到另外一个事务还没有提交的数据。提交事务 COMMIT;原创 2023-10-02 19:00:56 · 23 阅读 · 1 评论 -
MySQL学习-慢查询日志
重新启动MySQL服务器进行测试,查看慢日志文件中记录的信息 /var/lib/mysql/localhost-slow.log。慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有 SQL语句的日志。# 设置慢日志的时间为2秒,SQL语句执行时间超过2秒,就会视为慢查询,记录慢查询日志 long_query_time=2。开关已经打开了,接下来,我们所执行的SQL语句,都会被MySQL记录,并记录执行时间消耗到哪儿去 了。配置完毕之后,通过以下指令。原创 2023-10-14 10:46:20 · 29 阅读 · 1 评论 -
MySQL学习-sql性能分析
SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信 息。通过上述指令,我们可以查看到当前数据库到底是以查询为主,还是以增删改为主,从而为数据 库优化提供参考依据。如果是以增删改为主,我们可以考虑不对其进行索引的优化。如果是以 查询为主,那么就要考虑对数据库的索引进行优化了。#-- session 是查看当前会话;-- global 是查询全局数据;原创 2023-10-08 21:41:48 · 21 阅读 · 1 评论 -
MySQL学习-利用好查表语句
这里select返回一个数字即可作为分母。查表语句自己本身可以作为一个表或者对象。原创 2023-10-19 14:15:18 · 21 阅读 · 0 评论 -
MySQL学习-存储引擎
如果应用对事务的完整性有比较高的要 求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新、删除操 作,那么InnoDB存储引擎是比较合适的选择。文件:xxx.ibd:xxx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结 构(frm-早期的 、sdi-新版的)、数据和索引。MyISAM : 如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完 整性、并发性要求不是很高,那么选择这个存储引擎是非常合适的。原创 2023-10-08 10:30:09 · 17 阅读 · 1 评论 -
MySQL学习记录-总体定义和DDL
命令从MySQL客户端(即个人电脑)到数据库管理系统DBMS(eg:MySQL数据库服务器),然后到数据库。注释:单行注释用-- or #(开个头就行),多行开头用/*结尾用*/关系型数据库RDBMS,二维表,表间有联系,单表类似excel。SQL是一门针对关系型数据库的语言,领域中的统一标准。可以单行/多行,但要以分号结尾。MYSQL中sql不区分大小写。可以使用空格或缩进,无影响。原创 2023-09-28 12:40:44 · 23 阅读 · 0 评论 -
MySQL学习记录-DML
批量添加数据 INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...), (值 1, 值2, ...);• 插入的数据大小,应该在字段的规定范围内。或 INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);给指定字段添加数据 INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);原创 2023-09-28 19:30:47 · 18 阅读 · 0 评论 -
MySQL学习记录-DQL
DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记 录。在查询的过程中,可能 还会涉及到条件、排序、分页等操作。查询关键字: SELECT。原创 2023-09-28 19:43:00 · 33 阅读 · 0 评论 -
MySQL学习-多表操作
在自连接查询中,必须要为表起别名,要不然我们不清楚所指定的条件、返回的字段,到底 是哪一张表的字段。#右外连接相当于查询表2(右表)的所有数据,当然也包含表1和表2交集部分的数据。#相当于查询表1(左表)的所有数据,当然也包含表1和表2交集部分的数据。标量子查询:子查询返回的结果是单个值(数字、字符串、日期等),最简单的形式,这种子查询称为标量子查询。联合查询:对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集。表子查询: 子查询返回的结果是多行多列,这种子查询称为表子查询。原创 2023-10-02 17:18:54 · 38 阅读 · 1 评论 -
MySQL学习-DCL
CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END 如果val1为true,返回res1,... 否 则返回default默认值#when x then y 形式类似if函数,可以接多个when then 结构最后再接else。LPAD(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符 串长度 RPAD(str,n,pad) 右填充,用字符串pad对str的右边进行填充,达到n个字符 串长度。原创 2023-10-01 21:08:26 · 35 阅读 · 0 评论 -
MySQL-java.net.ConnectException问题
解决:进入计算机管理找到服务栏中的MySQL,开启服务。原因:MySQL服务未开启。原创 2023-10-01 13:50:44 · 21 阅读 · 0 评论 -
MySQL学习-约束
SET NULL 当在父表中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表 中该外键值为null(这就要求该外键允许取null)。CASCADE 当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有,则 也删除/更新外键在子表中的记录。删除/更新行为:添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。添加外键的表称为子表,外键关联的主表称为父表。原创 2023-10-02 16:39:19 · 26 阅读 · 1 评论 -
Linux和MySQL管理员常用密码和登录问题
学习中,密码统一设为ok,或者okok。原创 2023-09-28 10:53:06 · 49 阅读 · 0 评论 -
MySQL问题-添加日期时间字段数据时问题[22001][1292]或者[22007][1292]
字符串数据需要保持连续性,不要多行。原创 2023-09-29 23:24:54 · 69 阅读 · 1 评论 -
MySQL-给字段添加数据出现错误[HY000][1366] Incorrect string value
解决办法:若要同时修改表字符集和已有列字符集,并将已有数据进行字符集编码转换,请使用如下。问题原因:字段默认字符集不是utf8mb4,无法识别汉字和数字字符串。原创 2023-09-29 23:16:37 · 246 阅读 · 1 评论 -
MySQL学习-在聚合函数中使用等于语句或者case语句
在聚合函数中使用等于语句或者case语句能够帮助我们高效率的解决一些复杂的问题,首先使用等于语句可以跳过不等于的行,使用case语句可以通过行值的不同返回不同的值协助 计算。原创 2023-10-20 14:55:20 · 20 阅读 · 0 评论 -
MySQL学习-在聚合函数中使用等于语句或者case语句
在聚合函数中使用等于语句或者case语句能够帮助我们高效率的解决一些复杂的问题,首先使用等于语句可以跳过不等于的行,使用case语句可以通过行值的不同返回不同的值协助 计算。原创 2023-10-20 14:56:14 · 26 阅读 · 0 评论 -
MySQL学习-窗口函数over()
窗口函数是OVER(),其中对应子句有PARTITION BY 以及 ORDER BY子句,所以形式有:原创 2023-10-20 15:13:41 · 476 阅读 · 0 评论 -
MySQL学习-with as
3.如果定义了with子句,而在查询中不使用,那么会报ora-32035 错误:未引用在with子句中定义的查询名。(至少一个with查询的name未被引用,解决方法是移除未被引用的with查询),注意:只要后面有引用的就可以,不一定非要在主查询中引用,比如后面的with查询也引用了,也是可以的。1.使用with子句可以让子查询重用相同的with查询块,通过select调用(with子句只能被select查询块引用),一般在with查询用到多次情况下。但同一with子句内部不能嵌套with子句。原创 2023-10-21 17:45:40 · 117 阅读 · 0 评论 -
MySQL学习-取最值
如何分组后取数据最多对应的其他的字段值,用好rank()或者 order by count(*) desc 然后limit 1。原创 2023-10-21 19:52:35 · 24 阅读 · 0 评论 -
MySQL学习-存储为新表
例如把表2的查询结果插入表1:如果表存在:1如果表不存在:原创 2023-10-23 18:27:53 · 19 阅读 · 0 评论 -
MySQL学习-存储过程,变量定义与使用
一、变量定义与使用。原创 2023-10-23 18:58:00 · 262 阅读 · 0 评论