数据库笔记
数据库
z5241248
这个作者很懒,什么都没留下…
展开
-
MySQL字段包含某个值的方法(FIND_IN_SET)
使用FIND_IN_SET函数的方法和注意事项原创 2023-04-18 11:08:05 · 3751 阅读 · 0 评论 -
MySQL的innodb使用B+树做索引的好处(常见索引的梳理)
一、简介索引就像是书籍的目录,它给了我们查询数据提供了便利,使查询更有效率。可以边阅读边在这个网址进行可视化模拟:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html二、常见索引二叉树地址:二叉树模拟随便插入一些数据,可以得到下图。由图可以看到,任何节点的左子节点的键值都小于当前节点的键值,右子节点的键值都大于当前节点的键值。那么,当我们查询0002这个节点时,不需要全部查询,只需要以下几步:1)从根节点00.原创 2022-05-06 17:44:07 · 1008 阅读 · 0 评论 -
psql主键自增相关
psql创建主键自增,需要创建序列(SEQUENCE)。方法一:serial关键字create TABLE test ( ID serial PRIMARY KEY, NAME VARCHAR ( 255 ), age INT )这时,psql会自动创建一个序列,使用命令\dn可以查看。方法二:手动创建Sequencecreate sequence test_user_id_seq start with 1 increment by 1 no maxvalue no.原创 2021-08-15 19:02:49 · 230 阅读 · 0 评论 -
Dbeaver连接Hive
一、版本hadoop:hadoop-2.6.0-cdh5.4.0hive:1.1.0-cdh5.4.0二、需要jar包hadoop-common-2.6.0-cdh5.4.0.jarhive-jdbc-1.1.0-cdh5.4.0-standalone.jar原创 2021-05-31 12:06:36 · 282 阅读 · 0 评论 -
DDL,DML,DCL,DQL
SQL四大核心语言DDL:数据定义语言CREATE TABLE/VIEW/INDEX/SYN/CLUSTERDML:数据操作语言插入:INSERT更新:UPDATE删除:DELETEDCL数据控制语言GRANT : 授权ROLLBACK : 回滚COMMIT [WORK] : 提交DQL数据查询语言SELECTFROMWHERE...原创 2019-12-19 22:30:18 · 141 阅读 · 0 评论 -
Oracle索引——百万级数据测试
百万级数据测试——测试Oracle的索引一.单一索引1.首先创建一张表create table five_million_test( name varchar2(30), school varchar2(30));2.插入数据declare begin for i in 1..5000000 loop insert into five_m...原创 2019-12-22 23:20:06 · 808 阅读 · 0 评论 -
Oracle-PLSQL基本操作
Oracle-PLSQL基本操作1.查询记录并打印declare --应用型变量:emp.sal是什么类型,那么通过emp.sal%type就可以指明vsal的类型 vsal emp.sal%type; begin --将值赋给vsal select sal into vsal from emp where empno=7369; --打印 dbms_output...原创 2019-12-25 22:22:36 · 291 阅读 · 0 评论 -
Oracle-游标
Oracle-游标1.普通游标简介: 用来操作查询结果集,相当于JDBC中的ResultSet语法: cursor 游标名[(参数名,参数类型)] is 查询结果集步骤: 1.声明游标 cursor 游标名 is 查询内容 2.打开游标 open 游标名 3.从游标中取数据 fetch 游标名 into 变量 ...原创 2019-12-29 10:51:52 · 166 阅读 · 1 评论 -
Oracle-例外(异常)
Oracle-例外(异常)1.除0异常(zero_divide)declare vi number;begin vi := 8/0;--捕获异常exception when zero_divide then dbms_output.put_line('发生除0异常');end;2.类型转换异常(value_error)declare vi number;...原创 2019-12-29 11:20:28 · 127 阅读 · 0 评论 -
Oracle-存储过程
Oracle-存储过程简介: 已经编译好了的封装在服务器上的一段PLSQL代码片段实例--给指定员工涨薪,并打印涨薪前后工资--create [or replace] 可选参数,创建或替换create or replace procedure proc_updatesal(vempno in number,vnum in number)is --声明变量,记录当前工资 ...原创 2019-12-29 11:48:50 · 117 阅读 · 0 评论 -
Oracle-存储函数
Oracle-存储函数简介: 已经编译好的封装在Oracle服务器内的一段PLSQL代码片段,带有返回值实例--查询指定员工年薪create or replace function func_getsal(vempno number) return numberis --声明变量,保存年薪 vnum number;begin --根据传入值vempno查询年薪,并赋...原创 2019-12-29 12:05:23 · 148 阅读 · 1 评论 -
Oracle-触发器
Oracle-触发器分类语句级触发器 : 不论影响多少行,都只出发一次行级触发器 : 影响多少行,就出发多少次 :old 原记录 :new 新纪录 实例一–新加入数据后,输出一句话--新员工入职后输出一句话create or replace trigger tri_test1afterinsert on empdeclarebegin dbms_ou...原创 2019-12-29 17:37:00 · 137 阅读 · 0 评论 -
MySQL表主键id自增长重新排序
一、场景在使用mysql时,有时删除了行,而再次插入数据时,id顺序会隔离掉删除的行数。比如1、2、3,3条数据,删除了2、3行数据,再次插入时,主键会从4开始计数。二、解决删除原id,插入新id列。# 删除原列ALTER TABLE table_name DROP `id`;# 新增列ALTER TABLE table_name ADD `id` INT NOT NULL FIRST;# 设置列的参数ALTER TABLE table_name MODIFY COLUMN `id.原创 2021-03-22 11:28:14 · 3007 阅读 · 0 评论 -
MySQL索引和引擎
一.索引应用在使用MySQL或其他数据库的时候,往往需要给表添加索引,这样一般可以给数据的查询速度带来极大的提升。概念索引,可以理解成一本书的目录,用于快速了解和定位书本中的内容。而在MySQL中,索引是帮助其高效获取数据的、已排好序的数据结构索引的数据结构二叉树红黑树Hash表B-Tree…索引案例比如现在,MySQL中有这么一张表 test,需要进行查询(...原创 2020-04-29 21:23:58 · 312 阅读 · 0 评论 -
Redis基本概念及配置(事务、持久化、主从复制、哨兵模式)
Redis事务Multi、Exec、discard从输入Mulit命令开始,输入的命令都会进入命令队列中,但不会执行,直到输入Exec后,Redis将之前的队列中的命令依次执行。在命令组队过程中,可以使用discard放弃组队。如果某个命令出现了报告错误(如单词出错(error)),则Exec后,所有命令不会执行。如果出现语法性错误,类似(out of range(e...原创 2020-04-23 15:07:33 · 242 阅读 · 0 评论 -
Redis缓存问题(缓存穿透、缓存击穿、缓存雪崩、hash一致性问题及数据倾斜问题)
Redis常见问题## 一.Redis如何应用的当数据库(如MySQL)达到瓶颈,使用连接池效果并不会很理想,这时可以在数据库连接前加入缓存层,如Redis。将热点数据放入Redis中,减小数据库的压力。二.使用Redis时是否遇到相关缓存问题1)缓存击穿概念:对于Redis中的数据会设置有效期,因为并不是所有的数据都会一直处于高访问量的热点状态。这时,当有效期过了以后,数据...原创 2020-04-19 18:10:37 · 1010 阅读 · 0 评论