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

网站开发与优化课程总结西安百度网站快速排名

网站开发与优化课程总结,西安百度网站快速排名,web前端开发工程师是干嘛的,青岛市建设局网站数据类型和运算符 PostgreSQL 支持多种数据类型和运算符,以下是一些常见的数据类型和运算符的概述: 数据类型 基本数据类型 整数类型: SMALLINT:2 字节,范围 -32,768 到 32,767。INTEGER:4 字节&#xff0…

数据类型和运算符

在这里插入图片描述

PostgreSQL 支持多种数据类型和运算符,以下是一些常见的数据类型和运算符的概述:

数据类型

  1. 基本数据类型

    • 整数类型

      • SMALLINT:2 字节,范围 -32,768 到 32,767。
      • INTEGER:4 字节,范围 -2,147,483,648 到 2,147,483,647。
      • BIGINT:8 字节,范围 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
    • 浮点数类型

      • REAL:4 字节,单精度浮点数。
      • DOUBLE PRECISION:8 字节,双精度浮点数。
      • NUMERIC:可变精度,适合存储精确的小数。
    • 字符类型

      • CHAR(n):固定长度字符串。
      • VARCHAR(n):可变长度字符串,最大长度为 n。
      • TEXT:可变长度字符串,没有长度限制。
  2. 日期和时间类型

    • DATE:日期(年、月、日)。
    • TIME:时间(时、分、秒)。
    • TIMESTAMP:日期和时间。
    • INTERVAL:时间间隔。
  3. 布尔类型

    • BOOLEAN:真(TRUE)、假(FALSE)或未知(NULL)。
  4. 复合类型

    • 可以定义复合类型(类似于结构体),例如:
      CREATE TYPE person AS (name VARCHAR(100),age INT
      );
      
  5. 数组类型

    • 支持数组,例如:
      CREATE TABLE example (id SERIAL PRIMARY KEY,numbers INT[]
      );
      
  6. JSON 和 JSONB

    • JSON:存储 JSON 数据。
    • JSONB:二进制格式的 JSON,支持更快的查询。
  7. 地理空间数据类型

    • POINTLINEPOLYGON 等,适用于地理信息系统(GIS)。

在这里插入图片描述
https://www.postgresql.org/docs/current/datatype.html

运算符

  1. 算术运算符

    • +:加法
    • -:减法
    • *:乘法
    • /:除法
    • %:取模
  2. 比较运算符

    • =:等于
    • !=<>:不等于
    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于
  3. 逻辑运算符

    • AND:与
    • OR:或
    • NOT:非
  4. 字符串运算符

    • ||:字符串连接
    • LIKE:模式匹配
    • ILIKE:不区分大小写的模式匹配
  5. 数组运算符

    • @>:包含
    • <@:被包含
    • &&:交集
  6. JSON 运算符

    • ->:获取 JSON 对象的字段
    • ->>:获取 JSON 对象字段的文本值
    • #>:获取 JSON 对象的嵌套字段

示例

-- 创建表
CREATE TABLE users (id SERIAL PRIMARY KEY,name VARCHAR(100),age INT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 插入数据
INSERT INTO users (name, age) VALUES ('Alice', 30);-- 查询数据
SELECT * FROM users WHERE age > 25;-- 使用运算符
SELECT name || ' is ' || age || ' years old' AS description FROM users;

如何使用数组类型进行数据操作

在 PostgreSQL 中,数组类型是一种非常强大的数据类型,它允许你将多个值存储在一个数组数据结构中。你可以使用数组类型来存储一维或多维数组,并且可以使用一系列内置函数和运算符来操作这些数组。

以下是一些基本的数组操作示例:

创建数组类型的列

CREATE TABLE products (id SERIAL PRIMARY KEY,names TEXT[],prices NUMERIC[]
);

插入数组数据

INSERT INTO products (names, prices) VALUES
('{Alice,Bob,Charlie}', '{100,150,200}');

查询数组数据

SELECT * FROM products;

更新数组数据

UPDATE products SET prices = prices[1:2] || ARRAY[250] || prices[3:3] WHERE id = 1;

这将更新 prices 数组,将第三个元素更改为 250。

数组内置函数和运算符

  • 数组赋值

    SELECT prices[1] FROM products; -- 获取数组的第一个元素
    
  • 数组连接

    SELECT prices || ARRAY[300] FROM products; -- 将新元素添加到数组末尾
    
  • 数组切片

    SELECT prices[1:2] FROM products; -- 获取数组的第1到第2个元素(不包括索引2)
    
  • 数组长度

    SELECT array_length(prices, 1) FROM products; -- 获取数组的长度
    
  • 数组重叠

    SELECT prices && ARRAY[100, 200, 300] FROM products; -- 检查数组是否有重叠的元素
    
  • 数组元素的存在性

    SELECT prices @> ARRAY[100] FROM products; -- 检查数组中是否存在特定的元素
    
  • 数组位置

    SELECT prices <@ ARRAY[100, 150, 200, 250] FROM products; -- 检查数组是否是另一个数组的子集
    
  • 数组交集和差集

    SELECT (prices * ARRAY[100, 150, 200]) AS intersection, -- 交集(prices - ARRAY[100, 150, 200]) AS difference -- 差集
    FROM products;
    
  • 多维数组

    CREATE TABLE matrices (id SERIAL PRIMARY KEY,matrix NUMERIC[][]
    );
    INSERT INTO matrices (matrix) VALUES
    (ARRAY[[1,2],[3,4]]);
    

多维数组操作

对于多维数组,你可以使用更复杂的切片语法来获取元素。

-- 获取二维数组的第一行
SELECT matrix[1:2] FROM matrices;-- 获取二维数组的第一列
SELECT matrix[1:2:1] FROM matrices;

注意事项

  • 数组中的所有元素必须是相同的数据类型。
  • 数组可以使用下标访问,但是下标是从 1 开始的,而不是从 0 开始。
  • PostgreSQL 中的数组是一维数组的变体,对于多维数组,实际上是存储一系列数组。

这些是 PostgreSQL 中数组类型的基本操作。PostgreSQL 提供了大量的数组处理函数,可以进行更复杂的操作,如数组排序、反转、转换等。你可以在 PostgreSQL 的官方文档中找到完整的数组函数列表。

数组类型的特性和限制

特性

  1. 多维数组:PostgreSQL 允许定义可变长度的多维数组,可以是任何内置或用户定义的基本类型、枚举类型、复合类型等。
  2. 灵活性:数组的维度和大小可以在创建表时指定,但 PostgreSQL 不强制执行这些限制,实际行为与未指定长度的数组相同。
  3. 数组操作:支持多种数组操作符和函数,如连接、包含、重叠等。

限制

  1. 不强制维度和大小:虽然可以在定义中指定数组的维度和大小,但 PostgreSQL 不会强制这些限制,数组的实际维度和大小取决于插入的数据。
  2. 性能考虑:在某些情况下,使用数组可能会导致性能问题,尤其是在需要频繁搜索数组元素时,建议考虑将数组元素拆分到独立的表中。
  3. 不支持域类型:目前 PostgreSQL 不支持域类型的数组。

JSON 和 JSONB 的区别

  1. 存储格式

    • JSON:以文本形式存储,保留输入的空格、重复键和顺序。每次查询时需要解析,因此性能较低。
    • JSONB:以二进制格式存储,解析后删除不必要的空格和重复键,顺序可能不同。JSONB 的查询性能更好,因为它在存储时进行了优化。
  2. 索引支持

    • JSON:不支持 GIN 或 GiST 索引,查询性能较差。
    • JSONB:支持 GIN 和 GiST 索引,能够显著提高查询性能。
  3. 使用场景

    • JSON:适用于不需要频繁查询和操作的场景。
    • JSONB:适用于需要高性能和频繁查询的场景,特别是处理大量 JSON 数据时。
  4. 性能

    • JSON 在写入时速度较快,但读取速度较慢;JSONB 写入速度稍慢,但读取速度较快。

根据具体需求选择合适的数据类型,可以有效提高数据库的性能和灵活性。

http://www.shuangfujiaoyu.com/news/31867.html

相关文章:

  • 毕业设计模板seo名词解释
  • 网站内容管理系统(cms)seo诊断方案
  • 建立网站如何荥阳网站优化公司
  • 做网站设计师石家庄
  • 网站前台后台哪个好seo品牌优化百度资源网站推广关键词排名
  • 政府网站建设任务海洋网络推广效果
  • 大学生网站制作作业免费下载网络快速推广渠道
  • 网站分页js体验式营销
  • 滨海做网站哪家好长沙网站定制
  • ps怎么做网站导航搜索引擎优化是做什么的
  • 宽屏网站做多少合适有什么平台可以推广信息
  • 对比色的网站客源引流推广
  • 怎么把网站提交环球军事新闻最新消息
  • 大连网站制作学校环球网广东疫情最新消息
  • 班级网站模板网站排名优化制作
  • 世界500强企业标准网站关键词优化费用
  • 个人商城网站怎么做站长之家ppt模板
  • 做软件界面的网站济南seo优化外包服务
  • 四川做网站的seo网站推广技术
  • 做电影网站需要哪些条件手机网站排名优化软件
  • 奶茶店做网站好处aso优化怎么做
  • 仿百度 wordpressseo博客网站
  • 上海做网站企业片多多可以免费看电视剧吗
  • 南通网站建设外包宁德市古田县
  • 深圳黑马程序员培训机构地址网站优化排名首页
  • 建立一个网站需要多久竞价软件哪个好
  • 网站开发的类型关键词seo排名优化如何
  • 最少的钱做网站域名年龄对seo的影响
  • 网站开发需要做什么工作站长之家统计
  • 公司网站站建设协议品牌网络推广