找到 26 篇文章 适用于 PostgreSQL
4K+ 次浏览
假设您有一个名为 user_info 的表,其中包含用户的姓名和地址。下面给出了一个示例 -nameaddressAnilAndheri, Mumbai, MaharashtraJoyChandni Chowk, DelhiRonBandra, Mumbai, MaharashtraReenaOld Airport Road, Bengaluru, Karnataka现在,如果您只想提取居住在孟买的用户的资料,您可以使用 LIKE 命令和 % 运算符来实现。SELECT * from user_info where address LIKE '%Mumbai%'输出结果如下nameaddressAnilAndheri, Mumbai, MaharashtraRonBandra, Mumbai, Maharashtra请注意,我们在孟买两侧都添加了 % 运算符。这意味着孟买之前和之后可以是任何内容。我们只希望字符串... 阅读更多
126 次浏览
假设您有一个名为 exam_scores 的表,其中包含 5 列。下面给出了一个包含一些虚拟数据的示例。nameroll_nosubjecttotal_marksmarks_obtainedAnil1English10056Anil1Math10065Anil1Science10045Roy2English10078Roy2Math10098Roy2Science10067现在,一个学生可以参加多门科目的考试,因此,一个学生有多行记录。如果您想找出班级的学生总数,您可能希望找到 roll_no 的不同值的个数。您可以对特定列应用 distinct 约束,如下所示 -SELECT DISTINCT ON (roll_no) name, roll_no FROM exam_scores ORDER BY roll_no DESCHere’s what the output of the above query will look like −nameroll_noRoy2Anil1您还可以... 阅读更多
2K+ 次浏览
如果您是程序员,您可能非常熟悉 IF-ELSE 语句。PostgreSQL 中的等效语句是 CASE WHEN。让我们用一个例子来理解。如果您有一个名为 marks 的表,其中包含学生的百分制成绩,并且您想找出学生是及格还是不及格。下面给出了一个示例表。nameperc_marksAnil24Joy65Ron42Reena87假设及格分数为 40。现在,如果学生的分数高于 40 分,我们希望在该学生的姓名后面打印“PASS”,否则打印“FAIL”。您可以这样做 -SELECT name, CASE WHEN perc_marks >= 40 THEN 'PASS' ELSE 'FAIL' END status from ... 阅读更多
2K+ 次浏览
通常,您需要 PostgreSQL 中的当前时间戳。您可以按如下方式执行此操作 -SELECT current_timestamp它将输出当前时间。输出将如下所示 -2021-01-30 15:52:14.738867+00现在,如果您想要相对时间而不是当前时间怎么办?例如,如果您想要当前时间之前 5 小时的对应时间,您可以使用间隔来获取它。SELECT current_timestamp - interval '5 hours'输出每次都会不同。在撰写本文时,输出结果为 -2021-01-30 10:57:13.28955+00 您也可以对日期而不是时间戳执行这些操作SELECT current_dateOutput2021-01-30SELECT current_date + ... 阅读更多
2K+ 次浏览
假设您有两个表:marks 和 student_info。下面分别给出了这两个表的示例nameroll_noperc_marksAniket1224Siddhi4565Yash2642Isha5687nameroll_noagegenderAniket1226MIsha5625FSiddhi4523FYash2625M现在,假设您在工作中的经理查看了这两个表并告诉您,“为什么我们有两个表?简化一下,将所有内容转移到一个表中!”因此,您决定将 perc_marks 列添加到 student_info 表中。ALTER TABLE student_info ADD COLUMN perc_marks integer现在,您将如何填充此列?您会手动为每一列添加分数吗?这将为许多错误留下空间,并且非常耗时。相反,您可以这样做 -UPDATE student_info ... 阅读更多
105 次浏览
索引用于加速 PostgreSQL 中的查询执行,以及一般的任何关系数据库。PostgreSQL 表主要支持几种索引类型。让我们简要讨论 3 种常用的索引类型 -哈希这些索引只能处理相等比较。换句话说,如果我想检查 itemA = itemB,那么哈希索引很有用。它不适合其他类型的操作,如 >、=、40,则此索引将无用,并且 PostgreSQL 将组织查询计划,假设索引不存在。B 树这是 PostgreSQL 使用的默认索引。换句话说,如果... 阅读更多
178 次浏览
通常,可以使用 6 种类型的约束与 PostgreSQL 表一起使用。它们列出并在下面进行了解释 -NOT NULL 约束这是一个非常常见的约束。如果特定列不能具有空值,则在创建表时添加此约束。例如,如果我们创建一个 marks 表,该表不能对 name 具有 NULL 值,则创建表命令将如下所示 -CREATE TABLE marks( name VARCHAR NOT NULL, roll_no INTEGER, marks_obtained INTEGER );现在,如果我们尝试在没有... 阅读更多
1K+ 次浏览
能够在 PostgreSQL 中定义 JSON 列使其功能非常强大,并帮助 PostgreSQL 用户体验两全其美:SQL 和 NoSQL。创建 JSON 列非常简单。您只需像创建其他任何列一样创建/定义它,并将数据类型用作 JSON。让我们在 PostgreSQL 中创建一个新表,名为 json_test -CREATE TABLE json_test( serial_no SERIAL PRIMARY KEY, name VARCHAR, metadata JSON );现在,让我们用一些数据填充它 -INSERT INTO json_test(name, metadata) VALUES ('Yash', '{"marks_scored":{"science":50, "maths":65}}'), ('Isha', '{"marks_scored":{"science":70, "maths":45}}');如您所见,JSON 值是在单... 阅读更多
733 次浏览
为了用示例理解这些概念,我们将考虑两个表,marks 和 student_info,分别定义如下 -marks -nameroll_noperc_marksSiddhi4565Yash2642Isha5687student_info -nameroll_noagegenderAniket1226MIsha5625FYash2625M如您所见,marks 表中没有 Aniket 的条目,而 student_info 表中没有 Siddhi 的条目。换句话说,marks 表中没有 roll_no 12 的条目,而 student_info 表中没有 roll_no 45 的条目。现在,让我们逐一了解不同的连接。INNER JOIN它仅返回两个表中都存在条目的那些行。SELECT marks.name, marks.roll_no, student_info.age FROM marks INNER JOIN student_info on marks.roll_no ... 阅读更多
5K+ 次浏览
为了更改列的类型,语法如下:ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type USING expression;请注意,通常不建议更改列的类型,尤其是在您的表中已经有很多条目时。语法的 USING 部分是可选的。当您需要使用表达式将该列中现有条目从当前类型转换为新类型时,可以使用它。例如,如果您将类型为 INTEGER 的列转换为类型 BIGINTEGER,则无需为现有...的转换使用任何表达式。阅读更多
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP