一、字段 数据库表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。...在数据库中存放在表行列交叉处的数据叫做“值”,它是数据库中最基本的存储单元,它的位置要由这个表中的记录和字段来定义。...但有时候,字段不是表中的列,而是在计算字段的连接上; 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中的空间类型
一、问题描述 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(str1,str2,…) CONCAT_WS(separator,str1,str2,…) GROUP_CONCAT(expr) 这三个函数都各有作用,现在测试看看是什么样子的效果...age 1 Ana 24 2 Ame 24 3 Clid 27 4 Dave 27 5 Eva 27 测试 CONCAT、CONCAT_WS其实差不多,就是CONCAT_WS能自己设置分隔符,而且这两个字段是拼接同一行的数据...result,age from user_info GROUP BY age 结果 result age Ame,Clid,Dave,Eva 24 Ana 27 这三个函数都挺常用的
BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。...MySQL的四种BLOB类型 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G
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()函数可以将分组状态下的其他字段拼接成字符串查询...,满足个性化需求,因此,平时积累一些常用的函数,还是有作用的。
在MySQL中,可以通过alter table语句来修改表中一个字段的数据类型。下面本篇文章就来带大家了解一下alter table语句,介绍如何修改字段类型,希望对大家有所帮助。...在MySQL中,alter table语句是用于在已有的表中添加、修改或删除列(字段)的。...1、添加字段(列)alter table 表名 add 字段名 数据类型 示例:在表 “Persons” 中添加一个名为 “Birthday” 的新列,数据类型为“date”alter table Persons...alter table 表名 alter column 字段名 数据类型 示例:将表 “Persons” 中的 “Birthday” 列的数据类型改为“year”alter table Persons...4、删除字段alter table 表名 drop column 字段名 示例:删除 “Person” 表中的 “Birthday” 列alter table Persons drop column Birthday
背景 在针对一些数据进行统计汇总的时候,有时会对表中的某些字段进行逻辑运算,如加减乘除,如果要求和的话还可能会用到sum函数,如果两者结合起来应该怎么处理,如果参与运算的字段中出现null值的时候会出现一些什么情况...InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 数据如下 如上表所示,用户信息表中有账户总金额和冻结金额字段...根据表中的数据,我们知道统计后正确的结果应该是 (2000 - 50) + (1500 - 100) + (500 - 50) + 1000 = 4800 但如果我们这么写,那么得到的结果是错误的。
`TYPE_FLAG` = 1 或者 SUPPLIER_CLASS=1 实现有两种: 一、使用IF函数 SELECT temp.* FROM (SELECT tp1.
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+树中包含的索引字段和聚集索引字段
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 允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL)。...ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。...SET 类型可以从预定义的集合中取得任意数量的值。并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使 MySQL 插入一个空字符串。...还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。 希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。...但是,工作中随着项目越做越多,业务逻辑的处理越来越难以后,我发现时间类型还是用时间类型本身的字段类型要好一些,因为mysql有着丰富的时间函数供我使用,方便我完成很多与时间相关的逻辑,比如月排行榜,周排行榜
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
MySQL 中 concat 函数 MySQL 中 concat 函数 MySQL 中 concat_ws 函数 MySQL 中 group_concat 函数 MySQL 中 concat 函数 语法...select concat("a","b","c"); 输出:abc 注: Mysql 的 concat 函数在连接字符串的时候,只要其中一个为 NULL 则返回值为 NULL....select concat("1","2",null); 输出结果:NULL MySQL 中 concat_ws 函数 语法:concat_ws(separator,str1,str2) concat_ws...eg:字符串连接后以逗号分隔 select concat_ws(",","1","2","3"); 输出结果: 1,2,3 与 Mysql 中 concat 函数不同的是,concat_ws 函数在执行的时候...select concat_ws(",","1","2",NULL); 输出结果: 1.2 MySQL 中 group_concat 函数 语法:group_concat([DISTINCT]) 要连接的字段
——周国平《风中的纸屑》 在我们日常开发中,有时可能会在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中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中某些字段比如,url地址,需要将http替换为https,无需编写程序,只需要执行update语句即可,基本格式: UPDATE `表名` SET `字段名` = REPLACE (`字段名
领取专属 10元无门槛券
手把手带您无忧上云