![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL/HIVE
MySQL/HIVE
_七七
delicate.
展开
-
MySQL Table Partitioning 表分区
Table Partitioning 表分区参照官方文档:https://dev.mysql.com/doc/refman/8.0/en/create-table.htmlCREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [partition_options] [IGNORE | REPLACE] [AS] query_expr原创 2021-11-17 09:33:30 · 421 阅读 · 0 评论 -
hive中使用round报错 Invalid column reference...
hive查询sql必须加GROUP BY,否则选择列表中的列 col 无效,因为该列没有包含在聚合函数或 GROUP BY子句中。通常来说count、round这种应该算作是聚合函数,不用 GROUP BY;但是hive对round使用不认为其为聚合函数,使用其中的字段应该添加到GROUP BY中,round内使用的字段需要加GROUP BY;否则报错 Invalid column reference...原创 2021-11-01 16:31:13 · 6902 阅读 · 1 评论 -
udf_interval_to_hourno()函数
这个结果是返回一个由每个小时分区和时长连接的字符串udf_interval_to_hourno(substr(play_start_date,1,19),substr(play_end_time,1,19)) as hourno_str -- select udf_interval_to_hourno('2021-09-23 22:30:41','2021-09-24 02:10:11');-- 结果:2021092322-1759,2021092323-3600,2021092400-3600,2原创 2021-09-29 09:43:56 · 85 阅读 · 0 评论 -
COALESCE()函数
sql 中的COALESCE()函数对于Oracle数据库,一般经常对空值处理的函数为NVL,而mysql中常用到的是ifnull,这两个函数相似,其实都是由一个函数衍生而来,那就是COALESCE()函数。COALESCE()函数 定义:返回列表中第一个非null表达式的值。如果所有表达式求值为null,则返回nullCOALESCE()函数有两种用法:1.COALESCE ( expression1, expression2 );2.COALESCE ( expression1, expres原创 2021-09-29 09:37:35 · 920 阅读 · 0 评论 -
DATE_SUB()
DATE_SUB() 函数从日期减去指定的时间间隔。原创 2021-09-29 09:36:28 · 187 阅读 · 0 评论 -
LATERAL VIEW explode
category_name 是给 explode(category) 列起的别名select movie,category_name from ( select movie,category from move_table)aLATERAL VIEW explode(category) tmpTable as category_name;-- category_name 是给 explode(category) 列起的别名原创 2021-09-29 09:34:19 · 165 阅读 · 0 评论 -
HIVE:This command is not allowed on an ACID table xxx.xxx_table with a non-ACID transaction manager
执行HIVE时报错:This command is not allowed on an ACID table xxx.xxx_table with a non-ACID transaction manager解决方案:执行前添加两行SET hive.support.concurrency=true;SET hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;select * from xxxtable;...原创 2021-09-29 09:29:17 · 1502 阅读 · 0 评论 -
MySQL: regexp_replace
命令格式:regexp_replace(source, pattern, replace_string, occurrence)参数说明:● source: string类型,要替换的原始字符串。● pattern: string类型常量,要匹配的正则模式,pattern为空串时抛异常。● replace_string:string,将匹配的pattern替换成的字符串。● occurrence: bigint类型常量,必须大于等于0,大于0:表示将第几次匹配替换成replace_string原创 2021-07-31 14:15:42 · 4131 阅读 · 1 评论 -
MySQL:CONCAT_WS
CONCAT_WS(separator,str1,str2,…)代表 CONCAT With Separator第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。如SELECT CONCAT_WS(’_’,id,name) AS con_ws FROM info LIMIT 1;返回结果为±---------+| con_ws |±---------+| 1_BioCyc |±原创 2021-07-31 14:10:19 · 371 阅读 · 0 评论 -
MySQL:NVL
NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。原创 2021-07-31 14:09:30 · 16284 阅读 · 0 评论 -
MySQL:OVER(PARTITION BY... ORDER BY...)
OVER(PARTITION BY… ORDER BY…)PARTITION 中文是分割的意思,ORDER 是排序的意思,把一组数据按照制定的字段进行分割成各种组,然后组内按照某个字段排序。原创 2021-07-31 14:08:37 · 734 阅读 · 0 评论 -
Oracle / PLSQL:TO_DATE 函数
Oracle / PLSQL:TO_DATE 函数https://www.techonthenet.com/oracle/functions/to_date.php描述Oracle/PLSQL TO_DATE 函数将字符串转换为日期。句法Oracle/PLSQL 中 TO_DATE 函数的语法是:TO_DATE( string1 [, format_mask] [, nls_language] )参数或参数:string1将转换为日期的字符串。format_mask可选的。这是将用于原创 2021-07-16 11:49:53 · 2979 阅读 · 0 评论 -
oracle add_months()函数
oracle add_months()函数add_months() oracle官方链接:https://www.techonthenet.com/oracle/functions/add_months.phpadd_months 函数主要是对日期函数进行操作,在数据查询的过程中进行日期的按月增加,其形式为:add_months(date,int);其中第一个参数为日期,第二个为按月增加的幅度add_months (sysdate,2):就是当前日期的两个月之后的时间。例子:ADD_MONT原创 2021-07-16 11:41:16 · 2807 阅读 · 0 评论 -
Mysql UNIX_TIMESTAMP()
1、UNIX_TIMESTAMP()返回值:当前时间的UNIX格式数字串,或者说是 UNIX 时间戳(从 UTC 时间’1970-01-01 00:00:00’开始的秒数),通常为十位。SELECT UNIX_TIMESTAMP();2、UNIX_TIMESTAMP( date )参数:date 可能是个 DATE 字符串,DATETIME 字符串,TIMESTAPE 字符串,或者是一个类似于 YYMMDD 或者 YYYYMMDD 的数字串。返回:从 UTC 时间’1970-01-01 00:原创 2021-07-16 10:32:59 · 1477 阅读 · 0 评论 -
Mysql FROM_UNIXTIME() 格式化MYSQL时间戳函数
FROM_UNIXTIME() 格式化MYSQL时间戳函数函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)下列修饰符可以被用在format字符串中:%M 月名字(January……December)%W 星期名字(Sunday……Saturday)%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)%Y 年, 数字, 4 位%原创 2021-07-16 10:24:15 · 434 阅读 · 0 评论 -
MySQL CAST与CONVERT 函数的用法:产生另一个类型的值
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:1 CAST(value as type);2 CONVERT(value, type);举例:CAST(xxx AS 类型), CONVERT(xxx,类型)。可以转换的类型是有限制的。这个类型可以是以下值其中的一个:二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME原创 2021-07-16 10:16:41 · 170 阅读 · 0 评论 -
mysql80 1045连接错误解决办法
刷新一下密码为空,再重新设置密码。mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';Query OK, 0 rows affected (0.00 sec)mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.01 sec)原创 2021-07-09 18:02:35 · 1503 阅读 · 0 评论 -
MySQL any、all
any,all关键字必须与一个比较操作符一起使用。any关键词可以理解为“对于子查询返回的列中的任一数值,如果比较结果为true,则返回true。例如:select s1 from t1 where s1 > any (select s1 from t2);假设表t1中有一行包含(10),t2包含(21,14,6),则表达式为true;如果t2包含(20,10),或者表t2为空表,则表达式为false。如果表t2包含(null,null,null),则表达式为unkonwn。all的原创 2020-11-30 11:01:12 · 534 阅读 · 0 评论 -
MySQL80忘记密码,重置密码
网上转了半天也没看见好方法,直接上官网参考原文参考:mysql80重置密码net stop mysql80新建文本文档 c.txtALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';MyNewPass为替换新密码cd 进入mysql安装的bin目录执行mysqld --init-file=C:\\c.txt --...原创 2020-04-04 12:25:17 · 2749 阅读 · 6 评论 -
MySQL流程控制经典案例、向表插入指定个数的随机的字符串
流程控制经典案例已知表stringcontent其中字段:id自增长content VARCHAR (20)向该表插入指定个数的随机的字符串#创建表DROP TABLE IF EXISTS stringcontent;CREATE TABLE stringcontent( id INT PRIMARY KEY AUTO_INCREMENT, content VARCHAR(20...原创 2020-04-02 19:55:17 · 368 阅读 · 0 评论 -
MySQL 循环结构、while、loop、repeat
循环结构分类:while、loop、 repeat循环控制:iterate类似于continue, 继续,结束本次循环,继续下一次leave类似于break,跳出,结束当前所在的循环1.while 先判断后执行语法:while 循环条件 do 循环体;end while[标签];java:while(循环条件){ 循环体;}2.loop 没有条件的死循环...原创 2020-04-02 19:08:05 · 334 阅读 · 0 评论 -
MySQL 分支结构、if函数、case结构、if结构
分支结构程序从两条或多条路径中选择一条去执行if函数功能:实现简单的双分支语法:if (表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值应用:任何地方case结构情况1:类似于java中的switch语句,一般用于实现等值判断语法: case 变量|表达式|字段 when 要判断的值 then...原创 2020-04-02 18:28:04 · 783 阅读 · 0 评论 -
MySQL函数、函数无参有返回、函数有参数返回、查看函数、删除函数
函数含义:一组预先编译好的sql语句的集合,理解成批处理语句1.提高代码的重用性2、简化操作3.减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1个返回,适合做处理数据后返回一个结果一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型...原创 2020-04-02 17:01:25 · 4411 阅读 · 1 评论 -
MySQL ERROR 1418:This function has none of deterministric,NO SQL,or reads SQL DATA in its...
error 1418解决方法:mysql> show variables like 'log_bin_trust_function_creators';+---------------------------------+-------+| Variable_name | Value |+---------------------------------+----...原创 2020-04-02 14:43:57 · 304 阅读 · 0 评论 -
MySQL 创建存储过程或函数实现传入一个日期,格式化成xx年xx月xx日并返回
创建存储过程或函数实现传入一个日期,格式化成xx年xx月xx日并返回DELIMITER $CREATE PROCEDURE test_date(IN mydate DATETIME,OUT strDate VARCHAR(50))BEGIN SELECT DATE_FORMAT(mydate,'%Y年%m月%d日') INTO strDate;END $CALL test_date(...原创 2020-04-02 12:55:34 · 2304 阅读 · 0 评论 -
MySQL 存储过程、空参列表的存储过程、带in模式参数的存储过程、带out模式参数的存储过程、带inout模式参数的存储过程
存储过程含义:一组预先编译好的sQL语句的集合,理解成批处理语句提高代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的SQL语句)END注意:参数列表包含三部分:参数模式 参数名 参数类型举例:IN stuname VA...原创 2020-03-31 20:54:45 · 486 阅读 · 0 评论 -
MySQL变量、系统变量、全局变量、会话变量、自定义变量、用户变量、局部变量、用户变量和局部变量的区别
变量系统变量:全局变量会话变量自定义变量:用户变量局部变量一、系统变量说明: 变量由系统提供,不是用户定义,属于服务器层面使用的语法:1、查看所有的系统变量show global|[ session ] variables;2、查看满足条件的部分系统变量show global| [session] variables like '%char%' ;3...原创 2020-03-31 17:36:50 · 1836 阅读 · 0 评论 -
MySQL 连接错误2058
错误号码 2058解决方法登录你的 mysql 数据库,执行: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';原创 2020-03-31 16:39:31 · 455 阅读 · 0 评论 -
MySQL 视图、视图的创建、修改、删除、查看、使用更新、级联删除、级联置空、视图和表的对比
一、含义:虚拟表,和普通表一样使用mysql 5. 0.1版本出现的新特性,本身是一个虚拟表, 它的数据来自于表,通过执行时动态生成。好处:1、简化sql语句2、提高了sql的重用性3、保护基表的数据,提高了安全性应用场景:一多个地方用到同样的查询结果一该查询结果使用的sql语句较复杂二、创建createview视图名as查询语句;举例:USE myemploy...原创 2020-03-31 13:01:46 · 1161 阅读 · 0 评论 -
MySQL 事务、并发事务的隔离级别、回滚点savepoint的使用、delete和truncate在事务使用时的区别
一、含义事务:一条或多条sql语句组成一个执行单位, 一组sql语句要么都执行要么都不执行二、特点(ACID)A 原子性: 一个事务是不可再分割的整体,要么都执行要么都不执行C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的D 持久性: 一个事务一旦提交了,则永久的持久化到本地三、事务的使用步骤隐式(自...原创 2020-03-31 12:50:05 · 478 阅读 · 1 评论 -
MySQL标识列、自增长列
标识列又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值特点:标识列必须和主键搭配吗?不一定,但要求是一个key一个表可以有几个标识列?至多一个标识列的类型:只能是数值型 int float double…标识列通过SET auto_increment_increment= step;设置步长可以通过 手动插入值,设置起始值一、创建表时设置标识列DROP TA...原创 2020-03-28 14:02:03 · 185 阅读 · 0 评论 -
MySQL 约束、 列级约束和表级约束、创建表和修改表时添加约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束 NOT NULL: 非空,用于保证该字段的值不能为空比如姓名、学号等. DEFAULT:默认,用于保证该字段有默认值比如性别 PRIMARY KEY:主键,用于保证该字段的值具有唯一-性,并且非空比如学号、员工编号等 UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空比如座位号 ...原创 2020-03-28 13:44:31 · 1943 阅读 · 0 评论 -
MySQL 字符型CHAR CARCHAR 、枚举ENUM、集合SET
字符型较短的文本:CHAR 代表固定长度字符,比较耗费空间VARCHAR 代表可变长度字符,比较节省空间CHAR(M) M为最大的字符数,可省略,默认1VARCHAR(M) M为最大的字符数,不可省略较长的文本:TEXTBLOB(较大的二进制)其他:BINARY 和 VARBINARY 用于保存较短的二进制ENUM 用于保存枚举SET 用于保存集合枚举 ENU...原创 2020-03-26 22:30:06 · 421 阅读 · 0 评论 -
MySQL 整型TINYINT 、 SMALLINT 、 MEDIUMINT 、 INT/INTEGER 、 BIGINT
整型分类:TINYINT 、 SMALLINT 、 MEDIUMINT 、 INT/INTEGER 、 BIGINT1 2 3 4 8特点:如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字如果插入的数值超出了整型的范围,会报out of range异常如果不设置长度,会有默认的长度.长度代表最大宽度。使...原创 2020-03-26 22:20:58 · 217 阅读 · 0 评论 -
MySQL 小数浮点型FLOAT DOUBLE、定点型DEC DECIMAL
小数分类:浮点型FLOAT (M, D)DOUBLE (M, D)定点型DEC (M, D)DECIMAL (M, D)特点:M和DM: 整数部位+小数部位 的长度D: 小数部位 的长度如果超过范围,则插入临界值M和D都可以省略如果是 DECIMAL ,则M默认为10,D默认为0如果是 FLOAT 和 DOUBLE ,则会根据插入的数值的精度来决定...原创 2020-03-26 22:22:59 · 378 阅读 · 0 评论 -
MySQL DDL表的管理、表的创建、表的修改、表的删除、表的复制
表的管理1.表的创建CREATE TABLE 表名( 列名 列的类型 [(长度) 约束], 列名 列的类型 [(长度) 约束], 列名 列的类型 [(长度) 约束], 列名 列的类型 [(长度) 约束], ... 列名 列的类型 [(长度) 约束])#创建book表CREATE TABLE book( id INT,#编号 bName VARCHAR(20),#图书名...原创 2020-03-26 13:30:01 · 113 阅读 · 0 评论 -
MySQL DDL库的管理、库的创建、库的修改、库的删除、更改库的字符集
库的管理1、库的创建语法:CREATE DATABASE [IF NOT EXISTS] 库名;#创建库BooksCREATE DATABASE IF NOT EXISTS books;2、库的修改RENAME DATABASE books TO 新库名;#更改库的字符集ALTER DATABASE books CHARACTER SET gbk;3、库的删除DROP...原创 2020-03-26 13:26:24 · 146 阅读 · 0 评论 -
MySQL DML删除语句DELLTE、TRUNCATE
删除语句方式一: DELETE语法:1、单表的删除DELETE FROM 表名 WHERE 筛选条件#删除手机号以9结尾的个人信息DELETE FROM beauty WHERE phone LIKE '9%'SELECT * FROM beauty;2、多表的删除sq192语法:DELETE 表1的别名,表2的别名FROM 表1别名,表2别名WHERE 连接条件AN...原创 2020-03-26 12:21:36 · 214 阅读 · 0 评论 -
MySQL DML修改语句 UPDATE
修改语句1.修改单表的记录语法:UPDATE 表名SET 列=新值,列=新值,...WHERE 筛选条件#案例:修改beauty表中叫小红的电话为19999999UPDATE beauty SET phone = '19999999'WHERE NAME LIKE '小红';2.修改多表的记录语法:sq192语法:UPDATE 表1 别名,表2别名SET 列=值,....原创 2020-03-26 12:20:02 · 188 阅读 · 0 评论 -
MySQL DML插入语句 INSERT INTO
插入语句方式一:语法:INSERT INTO 表名(列名,...) VALUES(新值,...)1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'小红','女','1990-09-09','12222222222',NULL,'2');2....原创 2020-03-26 12:18:45 · 199 阅读 · 0 评论