
数据库
文章平均质量分 69
oracle以及mysql操作技能总结
star9595
只有回不了的过去,没有到不了的明天
展开
-
使用Kettle实现数据实时增量同步
1. 步骤以及思路:通过中间表记录每次更新的时间戳,在下一个同步周期时,通过这个时间戳同步该时间戳以后的增量数据。这是时间戳增量同步。源数据表:CREATE TABLE `im_message` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sender` varchar(45) COLLATE utf8_bin NOT NULL COMMENT '消息发送者:SYSTEM', `send_time` datetime(6) NOT NULL,..原创 2021-09-17 16:03:05 · 3067 阅读 · 0 评论 -
Oracle 数据库查询数据库实例所有表以及数据总量
select * from equip;select * from all_tables t where t.owner = 'GCLOUD_TSGZ';select t.num_rows from all_tables t where t.owner = 'GCLOUD_TSGZ';select sum(t.num_rows) from all_tables t where t.owner = 'GCLOUD_TSGZ';select t.owner,t.tablespace_name,t.ta.原创 2021-06-29 09:46:10 · 5151 阅读 · 0 评论 -
数据库分区
分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。建立一个user 表 以id进行分区 id 小于10的在user_1分区id小于20的在user_2分区create table user( id int not null auto_increment, username varchar(10), primary key(id))engine = innodb charset=utf8partition by range (id)( partition us...原创 2020-12-03 11:36:02 · 250 阅读 · 0 评论 -
mysql数据库死锁的产生原因及解决办法
锁类型在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两 种基本的锁类型来对数据库的事务进行并发控制。死锁的第一种情况一个用户A 访问表A(锁住了表A),然后又访问表B;另一个用户B 访问表B(锁住了表B),然后企图访问表A;这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B才能继续,同样用户B要等用户A原创 2020-11-05 15:28:27 · 232 阅读 · 0 评论 -
悲观锁与乐观锁
悲观锁与乐观锁一、悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。Java在JDK1.5之前都是靠 synchronized关键字保证同步的,synchronized 是悲观锁。悲观锁机制存在以下问题: 1. 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。2. 一个线程持有锁会导致其它所有需要此锁的线程挂起。3. 如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先原创 2020-05-14 15:14:50 · 155 阅读 · 0 评论 -
乐观锁与悲观锁及应用案例
乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。实现原理:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段,每操作一次,将那条记录的版本号加1。也就是先查询出那条记录,获取出version字段,如果要对那条记录进行操作(更新),则先判断此刻version的值是否与刚刚查询出来时的version的值相等,如果原创 2020-11-05 11:09:56 · 298 阅读 · 0 评论 -
mysql事务机制
一、事务的基本要素(ACID)1、原子性(Atomicity)2、一致性(Consistency)3、隔离性(Isolation)4、持久性(Durability)二、事务的并发问题 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。 3、幻读:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等原创 2020-11-04 17:04:55 · 515 阅读 · 0 评论 -
横表、纵表以及表字段查询通用sql总结(Oracle)
1.横表与纵表示例1:示例2:示例3:oracle数据库中表字段注释表:2.通用类SQL//获取当前用户表SELECT * FROM USER_TABLES t;//获取指定用户表SELECT * FROM ALL_TABLES t WHERE t.OWNER='ICIFNEW'; //获取表字段select * from user_tab_columns t where t.TABLE_NAME = 'ECUSR';//获取表注释select * f..原创 2020-09-03 13:17:49 · 1113 阅读 · 0 评论 -
关联查询经典案例
例1场景:有用户表sys_user,用户岗位关联表 sys_user_post ,岗位表sys_postSELECT * from sys_user t;SELECT * from sys_user_post t;SELECT * from sys_post t;字段如下:查询用户名称以及该用户的岗位名称信息:过程如下:SELECT u.user_name,up.post_id from sys_user u LEFT JOIN sys_user_post up on.原创 2020-06-21 14:34:22 · 712 阅读 · 0 评论 -
彻底理解inner join、left join和right join
实例:student表和对应的grade成绩表1. inner join 可以理解为"有效的连接",就是根据on后面的关联条件,两张表中都有的数据才会显示SELECT *FROM student stuINNER JOIN grade gra on stu.id = gra.c_stuId2. left join 理解为"主全显,后看on" (主表数据不受影响)左表数据会全部显示出来,连接后的表看on后面的选择条件,如果没有数据则显示为nullSELECT ...原创 2020-06-10 11:07:57 · 5940 阅读 · 0 评论 -
常用嵌套sql语句查询
常用嵌套sql语句查询创建表S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN 分别代表课程编号、课程名称SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩1, 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名select s# 学员学号,sn 姓名 from s where s# =(select s# from sc where sc.c# =(se..转载 2020-06-09 23:15:52 · 1226 阅读 · 0 评论 -
常用MySQL存储引擎
一概述存储引擎,即表类型(table_type)用户可以根据应用的需求选择如何来存储数据、索引、是否使用事务等。选择合适的存储引擎往往能够有效的提高数据库的性能和数据的访问效率,另外一个数据库中的多个表可以使用不同引擎的组合以满足各种性能和实际需求。MySQL支持很多存储引擎,包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE等,其中InnoDB和BDB支持事务安全。查看当前表使用的存储引擎(或者通过右键--object inf原创 2020-06-02 17:37:52 · 215 阅读 · 0 评论 -
本机mysql以及redis启动(windows)
命令窗口启动mysql1. cd 'C:\Program Files\MySQL\MySQL Server 8.0\bin'2. net start MySQL3. mysql -uroot -p4. 键入密码: 1qaz!QAZ原创 2020-05-19 13:20:07 · 370 阅读 · 0 评论 -
sql语句优化
索引失效的几种情况:1. 面前带模糊查询不能利用索引(like '%XX'或者like '%XX%')2. 条件中有or,应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=203. 索引无法存储null值,所以where的判断条件如果对字段进行了null值判断,将导致数据库放弃索引而进行全表查询: select id from t where num is nul...原创 2020-05-09 10:16:49 · 175 阅读 · 0 评论 -
linux下安装mysql
1、下载 下载地址:https://dev.mysql.com/downloads/file/?id=476665 下载版本:我这里选择的5.6.40,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x8...原创 2018-06-23 16:48:18 · 195 阅读 · 0 评论