当前位置: 首页 > news >正文

SQL - 数据类型

  • 字符串类型
    • char(10),存储固定长度字符串
    • varchar(255),存储可变长度字符串
    • mediumtext,中文本,对于存储JSON对象、SCV字符串很好使
    • longtext,长文本,可以很好地存储教本或许多年地日志文件
    • tinytext,微文本
  • 整数类型
    • tinyint,微整型,1字节
    • unsigned tinyint,无符号微整型,1字节
    • smallint,小整型,2字节
    • mediumint,中整型,3字节
    • int,整数,4字节
    • bigint,大整数,8个字节
  • 定点和浮点类型
    • decimal(p,s),小数型,存储定点数,(精度,小数位数);同义 dec,numeric,fixed
    • float,浮点类型,4个字节,用于科学计算
    • double,双精度,8个字节,用于科学计算
  • 布尔型
    • boolean (bool),(true or false)
  • 枚举和集合类型 (不好用)
    • enum('small','medium','large') //将某一列值限制在一个有限字符串列表范围内
    • set(……)
  • 日期和时间类型
    • date,存储没有时间的日期
    • time,存储一个时间值
    • datetime,日期时间型,8字节
    • timestamp,时间戳,4个字节
    • year,存储4位数年份
  • blob类型
    • 二进制长对象类型,用来存储大型二进制数据,如图像,视频,word文件等
    • tinyblob,255B
    • blob,65KB
    • mediumblob,16MB
    • longblob,4GB
  • json类型
    • 存储JSON文档
    • 创建 json对象:自定义大括号那种,json_object()
    • 更新,添加 json对象信息:json_set()
    • 删除 json对象中的部分信息:json_remove()
    • 查找json对象中的信息:json_extract(properties,'$.weight'),properties -> '$.json.name'
    • -- 更新,整个json对象信息
      -- 1
      update products
      set properties='
      {"dimension":[1,2,3],"weight":10,"json":{"name":"sony"}
      }'
      where product_id=1;-- 2
      update products
      set properties=json_object(
      'weight',19,
      'dimensions',json_array(1,2,3),
      'json',json_object('name','son')
      )
      where product_id=2; -- 更新或添加  json对象中的部分信息
      update products
      set properties = json_set(properties,'$.weight',20,'$.age',11
      )
      where product_id = 1;
      /* json_set() 第一个参数是要更新的json对象,其他的就是正常的添加,修改了 */-- 删除 json对象中的部分信息
      update products
      set properties = json_remove(properties,'$.age'
      )
      where product_id = 1;-- 查询 列中json对象,json对象中的元素信息
      -- 1
      select product_id,json_extract(properties,'$.weight')
      from products
      where product_id in (1,2);
      /* json_extract(properties,'$.weight')
      第一个参数为json对象,也就是属性列
      第二个参数是一条路径,一个字符串,即$.something
      用'$' 表示当前的json文档,用'.'来访问单独的属性或键*/-- 2
      select product_id,
      properties -> '$.dimensions[1]',
      properties -> '$.weight',
      properties -> '$.json.name' ,
      properties ->> '$.json.name' 
      from products
      where product_id in (1,2)
      /*  '->' ,为列路径运算符'->>' ,在此基础上去掉引号*/
      


http://www.mrgr.cn/news/985.html

相关文章:

  • 【Spark集群部署系列一】Spark local模式介绍和搭建以及使用(内含Linux安装Anaconda)
  • iPhone照片怎么导入电脑?一键导入毫不费力
  • 探索AI编程:Wordware与自然语言编程的无限可能
  • 机器学习-混淆矩阵
  • 区块链技术在Facebook中的潜力:未来趋势与挑战
  • 乌龟对对碰在线版
  • Python知识点:如何使用Kubernetes与Python进行容器编排
  • 【硬件模块】震动传感器模块
  • 【ubuntu24.04】安装oracle javasdk
  • go for 循环变量的使用及易错点
  • 奥威BI数据可视化展示:如何充分发挥数据价值
  • win/mac专业图像处理软件 PS 软件下载安装
  • 【Oracle点滴积累】解决ORA-20000: ORA-12899: value too large for column错误的方法
  • 8月19号的学习
  • 后端开发刷题 | 主持人调度【贪心算法】
  • 雅思小作文写作技巧
  • 九大服务架构性能优化方式
  • 解密!抖音百万粉丝博主三维地图视频都用到了什么GIS数据和技术
  • MySQL中处理JSON数据:大数据分析的新方向
  • Docker安全与资源