一、字段 数据库表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。...在数据库中存放在表行列交叉处的数据叫做“值”,它是数据库中最基本的存储单元,它的位置要由这个表中的记录和字段来定义。...但有时候,字段不是表中的列,而是在计算字段的连接上; 2、拼接(concatenate):用来拼接2个列的函数,可将值联结到一起构成单个值 PS:多数DBMS使用+或者||实现拼接,MySQL则使用concat...(如空格)时重新命名它 ③在原来的名字含混或容易误解时扩充它 4、算数操作符:计算字段时常用的操作符 计算字段的常见用途就是对检索出的数据进行算数计算,MySQL基本操作符如下: ?...、统计和处理这些值(日期和时间函数在MySQL语言中具有重要的作用) 常用日期和时间处理函数表如下: ?
// MySQL中的json字段 // MySQL5.7.8中引入了json字段,这种类型的字段使用的频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段的操作方法...,info是json字段,插入了三条数据,如上: mysql> select * from test1 where json_extract(info,"$.age")>=30; +------+---...其中: 1、$符号代表的是json的根目录, 2、我们使用$.age相当于取出来了json中的age字段, 3、当然,在函数最前面,应该写上字段名字info 下面来看json中常用的函数: a、json_valid...判断是否是json字段,如果是,返回1,如果不是,返回0 mysql> select json_valid(2); +---------------+ | json_valid(2) | +------...json中是否有一个或者多个成员。
1.拼接字段: 将多个值联结到一起构成单个值。mysql使用concat()函数。 其他DBMS数据库可能使用+或者||来实现拼接。...3.文本处理函数: --Left() 返回字符串左边的字符 --Right()返回字符串右边的字符 --RTrim()去除列值右边的空格 --LTrim()去除列值左边的空格 --Lower()将字符串转化为小写...--Upper()将字符串转化为大写 --Length()返回字符串的长度 --Locate(‘abc’,'dingabcwei')返回字符串的字串在字符串中第一次出现的位置 --Soundex()返回串的近似音值...4.日期处理函数: mysql中日期格式最好为yyyy--mm-dd(2018-05-21)。...6.分组函数group by: select vend_id, count(*) as num_prods from products group by vend_id order by vend_id
一、问题描述 SparkSQL虽然可以访问MySQL数据,但是对于MySQL的空间字段,SparkSQL并没有提供内置函数去解析 二、问题分析 SparkSQL没有内置函数解析空间类型,需要手动编写...UDF函数实现 SparkSQL网络传输的数据格式是Byte数组,返回的数据格式中没有Geometry类型,需要将Geometry类型转成String类型返回 三、代码实现 1、自定义UDF函数...spark.sql("SELECT id, ST_ASTEXT(point), ST_ASTEXT(polygon) FROM t_point_polygon").limit(10).rdd 四、知识拓展 1、MySQL...中的空间扩展 https://www.mysqlzh.com/doc/172.html http://dcx.sap.com/1201/zh/dbspatial/pg-api-spatial-st-geometry-type.html...2、MySQL中的空间类型
在工作学习中,我们有时会见到类似这样的sql:SELECT * FROM tbl_user tbu WHERE (tbu.serial, tbu.serial_sub) IN (('SN001', '001...'), ('SN002', '002'))这就是多字段IN。...对于单字段IN,稍微熟悉SQL语法的朋友应该都清楚。而多字段IN则在此基础上增加字段,但落上依旧是“某个单元” 位于 “某个列表”,只是这个单元从原先的一个字段变成了多个字段。
一、问题描述 SparkSQL虽然可以访问MySQL数据,但是对于MySQL的空间字段,SparkSQL并没有提供内置函数去解析 二、问题分析 SparkSQL没有内置函数解析空间类型,...需要手动编写UDF函数实现 SparkSQL网络传输的数据格式是Byte数组,返回的数据格式中没有Geometry类型,需要将Geometry类型转成String类型返回 三、代码实现 1、自定义...spark.sql("SELECT id, ST_ASTEXT(point), ST_ASTEXT(polygon) FROM t_point_polygon").limit(10).rdd 四、知识拓展 1、MySQL...中的空间扩展 https://www.mysqlzh.com/doc/172.html http://dcx.sap.com/1201/zh/dbspatial/pg-api-spatial-st-geometry-type.html...2、MySQL中的空间类型 图片.png 图片.png
MySQL中如果对字段有拼接需求,可以利用原生提供的三个函数,功能虽然相近,但细节略有不同,针对不同的场景,选择不同的方案, concat() concat_ws() group_concat() 1....concat()函数 可以实现多个字段使用空字符串拼接为一个字段,如下所示, mysql> select concat(id, type) from mm_content limit 10; +---...concat()函数如果想要使用分隔符分割,就需要每个字段中间插一个字符串,不是非常便捷,但是通过concat_ws()函数可以一次性地解决分隔符的问题,并且不会因为某个值为NULL,而全部为NULL...on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 但是group_concat()函数可以将分组状态下的其他字段拼接成字符串查询...,满足个性化需求,因此,平时积累一些常用的函数,还是有作用的。
BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。...MySQL的四种BLOB类型 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G
背景 在针对一些数据进行统计汇总的时候,有时会对表中的某些字段进行逻辑运算,如加减乘除,如果要求和的话还可能会用到sum函数,如果两者结合起来应该怎么处理,如果参与运算的字段中出现null值的时候会出现一些什么情况...InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 数据如下 如上表所示,用户信息表中有账户总金额和冻结金额字段...根据表中的数据,我们知道统计后正确的结果应该是 (2000 - 50) + (1500 - 100) + (500 - 50) + 1000 = 4800 但如果我们这么写,那么得到的结果是错误的。
MySql之json_extract函数处理json字段 在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?...接下来本文将介绍一下Mysql5.7+之后提供的json_extract函数,可以通过key查询value值 1....insert into `json_table` values (2, '{"name": "一灰灰blog", "site": "https://blog.hhui.top"}'); 查询json串中的...小结 本文主要介绍json_extract函数的使用姿势,用于解析字段内value为json串的场景 基本使用姿势 json对象:json_extract('db字段', '$.json串key')...json数组:json_extract('db字段', '$数组下标.json串key')
MySQL中explain的结果字段介绍(二) 昨天说完了执行计划的前四个字段,今天说说后面几个字段吧。...c_key_var字段来取交集,最终explain中的type字段的值变成了index_merge,也就是索引合并。...子查询中使用了test_explain表中的普通索引字段a_key_var和test_explain表中的主键id字段进行等值匹配,外层的where条件中我们使用的是test_explain的主键id值进行...index_subquery 这个和上面一样,但是in条件中的子查询使用的是a_key_var普通索引字段,而不是id字段: mysql:yeyztest 18:53:30>>explain select...-+------+------+----------+-------------+ 1 row in set, warning (0.00 sec) index 我们知道,二级索引的B+树中包含的索引字段和聚集索引字段
`TYPE_FLAG` = 1 或者 SUPPLIER_CLASS=1 实现有两种: 一、使用IF函数 SELECT temp.* FROM (SELECT tp1.
MySQL中explain中的结果字段介绍(三) 之前的文章中对于explain的数据结果中的字段已经进行了一部分介绍了,今天来说一说剩下的几个字段,为了防止忘记,先看看这个表结构: mysql...如果是varchar这种变长类型的,那么它的最大长度就是变长类型定义中的长度,比如对于varchar(20),采用utf8编码,最大长度就是20*3=60字节 2、如果索引列中可能包含null值,那么会额外占用...1个字节 3、对于varchar这种变长字段,需要有额外的2个字节来保存长度 有了这三条规则,就能比较容易理解key_len的值了,例如上面的例子中,key_len的值是4,它的原因是int类型是固定长度...ref字段的值都是const,是因为我们使用常量a或者常量2和索引字段进行匹配,如果我们使用某个字段进行匹配,来看下面: mysql:yeyztest 22:24:42>>explain select...Using where 表示Mysql将对storage engine提取的结果进行过滤,过滤条件字段无索引; Using temporary 要解决查询,MySQL需要创建一个临时表来保存结果。
本文学习的是MySQL语法中位字段值知识,可以使用b'value'符号写位字段值。value是一个用0和1写成的二进制值。...位字段符号可以方便指定分配给BIT列的值: mysql> CREATE TABLE t (b BIT(8)); mysql> INSERT INTO t SET b = b'11111111'; mysql...位字段表示法的语法如下- 语法 b’value’ OR 0bvalue 在此,该值是使用零和一写入的二进制值。 主要使用位字段表示法可以方便地指定要分配给MySQL表的BIT列的值。...以下示例将演示它- mysql> Create table bit_testing (bittest BIT(8)); mysql> INSERT INTO bit_testing SET bittest...= b'10101010'; mysql> INSERT INTO bit_testing SET bittest = b'0101'; mysql> INSERT INTO bit_testing
通过sql查询语句,查询某个字段中包含特定字符串: 例子:查询e_book表的types字段包含字符串"3",有下面4种方式 select * from e_book where types like...select * from e_book where locate('3', types); select * from e_book where INSTR(types,'3'); 第2、3中方式相对速度较快
MySQL中explain的结果字段介绍 我们在使用MySQL的时候,用的最多的情况可能就是select语句了,当我们在一个表查找数据的时候,经常会遇到查找的速度比较慢的情况,作为一名DBA,我也会经常遇见业务方写的...MySQL中,可以通过explain的语句来查看一个SQL的执行计划。...01 id值 在一个大的select语句中,每一个语句都对应一个id值,例如上面的例子中,这个select 1就对应了一个id值,再来看下面这个SQL: mysql:(none) 21:49:37...,将会出现2个一样的id值 02 Select_type值 select关键字对应的是查询的类型,如果查询的类型是一般的select,那么select_type字段的值是simple,在上面的几个例子中...时间关系,先这样吧,后面的几个字段以及示例明天再写吧。
在 MySQL 中,可以通过 EXPLAIN 查看一条 SQL 语句的执行计划,从而了解查询在执行时的访问方式和索引使用情况。下面对 EXPLAIN 输出中常见字段的含义进行说明。...一、EXPLAIN 的基本用法EXPLAINSELECT *FROM userWHERE id = 1;执行后会返回一行或多行结果,每一列都对应执行计划中的一个字段。...SELECT DERIVED:派生表(FROM 子句中的子查询) UNION:UNION 中的第二个及后续查询 该字段用于区分复杂查询中各个 SELECT 的角色。...六、possible_keyspossible_keys 表示 MySQL 在理论上可能使用的索引: 为 NULL 表示没有可用索引 不一定最终会被使用 该字段用于判断索引设计是否合理。...八、key_lenkey_len 表示 MySQL 使用的索引长度(单位为字节): 可用于判断联合索引中使用了哪些列 长度越短,通常表示使用的索引列越少 该字段与索引列的数据类型和长度有关。
在mysql中某些字段比如,url地址,需要将http替换为https,无需编写程序,只需要执行update语句即可,基本格式: UPDATE `表名` SET `字段名` = REPLACE (`字段名
——周国平《风中的纸屑》 在我们日常开发中,有时可能会在SQL中写一些条件,例如这里一个例子 这里有这样一张表,数据如下: 如果我们需要把未认证(状态为NOT_AUTH)的用户放到前面排序显示,在不影响分页的情况下...我们可以这么写 SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC 这里使用到了MYSQL...的IF函数 IF([条件],[为true时值],[为false时值]) 例如我们需要整体排序,认证中的在最前,然后是未认证的,最后是已认证的 我们则可以使用MYSQL中的CASE、WHEN、THEN、ELSE...WHEN [条件2] THEN [条件2满足时值] WHEN [条件3] THEN [条件3满足时值] ELSE [条件都不满足时值] END Tips:在除了查询语句中,其余操作的SQL都可以用该函数哦
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。...---- 数值类型 MySQL支持所有标准SQL数值数据类型。...BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。...LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据 LONGTEXT 0-4 294 967 295 bytes 极大文本数据 注意:char(n) 和 varchar(n) 中括号中...在存储或检索过程中不进行大小写转换。 BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。