数据库
萧逸才
这个作者很懒,什么都没留下…
展开
-
主键、超键、候选键和外键
主键: 数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超键: 在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键: 是最小超键,即没有冗余元素的超键。外键: 在一个表中存在的另一个表的主键称此表的外键。原创 2017-04-08 19:02:15 · 2418 阅读 · 0 评论 -
ORA-01861: 文字与格式字符串不匹配
原因:查询时使用类似between '2017-07-08 00:00:00' and '2017-07-08 23:59:59'sql语句时ORA-01861: 文字与格式字符串不匹配(上述语句在mysql中执行是没有问题的) 解决方法:修改语句为between to_date('2017-07-08 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date原创 2017-07-08 13:23:16 · 3036 阅读 · 1 评论 -
[72000][1653] ORA-01653: 表 ***无法通过 128 (在表空间 **中) 扩展 ORA-06512: 在 "****", line 8
执行存储过程时报错,错误的原因是因为表空间不足,修改一下表空间即可原创 2017-08-05 11:03:26 · 2398 阅读 · 0 评论 -
SqlServer判断函数是否存在并打印字符串
if exists (select * from sysobjects where xtype='fn' and name='函数名') print '存在函数xxx';else print '不存在函数xxx'; print '进行创建...';原创 2018-09-17 14:28:13 · 1385 阅读 · 0 评论 -
SqlServer数据库迁移至MySql注意点——
先看区别SqlServertinyint:范围(0,255),存储大小为 1 字节MySqltinyint:有符号范围 ~ (-128,127),无符号范围 ~ (0,255),存储大小为 1 字节故当SqlServer表中含有Tinyint类型字段时,迁入到MySql需要将字段的无符号选择勾上,否则取值范围不一致(除非你的取值可以保证在(0,127)之内)...原创 2018-09-20 21:12:41 · 637 阅读 · 0 评论 -
关于"Specified key was too long; max key length is xxx bytes"
场景给MySql数据库表Varchar类型字段加索引时报错:“Specified key was too long; max key length is xxx bytes”;原因字段太长导致无法加索引;解决修改字段长度,注意编码格式,例如你的字段长度为100(指的是字符数),而编码是utf-8,那么最大占用3乘100=300 byte,如果编码是utf8mb4则最大占用4乘100=40...原创 2018-09-21 19:50:19 · 43382 阅读 · 0 评论 -
记一次Hive平台清洗数据
场景(简化)现有文章表Article和评论表Comment;一篇文章可以有多个评论;文章表Article主要字段(articleId);评论表Comment主要字段(commentId,articleId,content,createTime,lastChangeTime);问题描述发现很多文章下出现了评论内容一样的评论,所以需要对文章的评论进行数据清洗,即同一文章下相同内容的点评只保...原创 2019-01-03 16:10:01 · 4468 阅读 · 0 评论 -
代码实践之Job如何从MySql获取数据
相信很多人都写过Job,特别是对于从MySql进行大数据量(百万级、千万级甚至亿级)的频繁读取,在这种场景下如何从数据库查询数据就不是一个简单的问题了,查询效率至关重要!我们先看一下最常见也是应用最广泛的写法:select * from tableName where ... limit m,n;这种写法对于用户从前端读取数据的场景下是满足需求的,因为m和n的值都不会很大,最多两位数,...原创 2019-08-18 17:29:17 · 369 阅读 · 0 评论