当前位置:   article > 正文

SQL - 数据类型

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'
      1. -- 更新,整个json对象信息
      2. -- 1
      3. update products
      4. set properties='
      5. {
      6. "dimension":[1,2,3],
      7. "weight":10,
      8. "json":{"name":"sony"}
      9. }'
      10. where product_id=1;
      11. -- 2
      12. update products
      13. set properties=json_object(
      14. 'weight',19,
      15. 'dimensions',json_array(1,2,3),
      16. 'json',json_object('name','son')
      17. )
      18. where product_id=2;
      19. -- 更新或添加 json对象中的部分信息
      20. update products
      21. set properties = json_set(properties,
      22. '$.weight',20,
      23. '$.age',11
      24. )
      25. where product_id = 1;
      26. /* json_set() 第一个参数是要更新的json对象,其他的就是正常的添加,修改了 */
      27. -- 删除 json对象中的部分信息
      28. update products
      29. set properties = json_remove(properties,
      30. '$.age'
      31. )
      32. where product_id = 1;
      33. -- 查询 列中json对象,json对象中的元素信息
      34. -- 1
      35. select product_id,json_extract(properties,'$.weight')
      36. from products
      37. where product_id in (1,2);
      38. /* json_extract(properties,'$.weight')
      39. 第一个参数为json对象,也就是属性列
      40. 第二个参数是一条路径,一个字符串,即$.something
      41. 用'$' 表示当前的json文档,用'.'来访问单独的属性或键*/
      42. -- 2
      43. select product_id,
      44. properties -> '$.dimensions[1]',
      45. properties -> '$.weight',
      46. properties -> '$.json.name' ,
      47. properties ->> '$.json.name'
      48. from products
      49. where product_id in (1,2)
      50. /* '->' ,为列路径运算符
      51. '->>' ,在此基础上去掉引号*/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/1005232
推荐阅读
相关标签
  

闽ICP备14008679号