📜  PostgreSQL整数

📅  最后修改于: 2020-11-30 07:35:06             🧑  作者: Mango

PostgreSQL整数

在本节中,我们将了解PostgreSQL Integer数据类型的工作方式。我们还看到了Integer数据类型的示例

什么是PostgreSQL整数数据类型?

PostgreSQL中,INTEGER数据类型也称为INT 。 PostgreSQL Integer数据类型已分为以下三种类型:

  • 整数
  • SMALLINT
  • 比金特

在本节中,我们将通过示例来了解INTEGER数据类型。我们将在PostgreSQL教程中介绍SMALLINT和BIGINT数据类型。

PostgreSQL Integer数据类型涉及4个字节的存储大小,并在有符号无符号范围内存储整数。

并且Signed范围-2147483648到2147483647开始。无符号范围0到4294967295开始。 size参数用于定义最大显示宽度255

注意:PostgreSQL不允许我们使用无符号整数类型。

与其他整数类型( smallint,bigint )相比,INTEGER数据类型是最常用于范围,性能和大小存储的数据类型。

当我们在社交媒体应用程序(如Facebook,Instagram等)上存储活动用户数量以及城市或国家/地区的人口等数据时,Integer数据类型将非常有用。

我们有下表,其中包含PostgreSQL支持的所有Integer数据类型规范:

Name Storage Size Minimum Maximum
INTEGER 4 bytes -2147483648 2147483647
SMALLINT 2 bytes -32768 32767
BIGINT 8 bytes -9223372036854775808 9223372036854775807

注意:如果我们尝试存储超出给定范围的值,PostgreSQL将引发错误。

PostgreSQL Integer数据类型的语法

PostgreSQL Integer数据类型的语法如下:

variable_name INTEGER

PostgreSQL Integer数据类型的示例

让我们来看不同的示例,以了解PostgreSQL Integer数据类型如何工作。

我们正在CREATE命令的帮助下创建一个名为Social_site的新表,并使用INSERT命令插入一些值。

我们通过使用CREATE命令存储的活跃用户在多个社交媒体应用程序的数量将创建Social_sitejavatpoint数据库

CREATE TABLE Social_site (
    Id SERIAL PRIMARY KEY,
    Website_name VARCHAR (255) NOT NULL,
    active_users INTEGER NOT NULL CHECK (active_users> 0)
);

输出量

执行上面的命令后, Social_site表已成功创建,如以下屏幕截图所示:

生成Social_site表后,我们可以使用INSERT命令将一些值插入其中。

INSERT INTO social_site(Website_name, active_users)
VALUES
        ('Instagram', 100000000), 
    ('Facebook', 2203000000),
        ('WhatsApp', 2000000000),
    ('Twitter', 30000000), 
        ('Youtube', 200000000);

输出量

执行完上述命令后,我们将得到以下消息:

如果该值超出Integer数据类型(2147483647)的范围,则PostgreSQL将显示错误,因为整数超出range

因此,现在我们将在Integer数据类型范围内插入Facebook活动用户的值,如下面的命令所示:

INSERT INTO social_site(Website_name, active_users)
VALUES
        ('Instagram', 100000000), 
    ('Facebook', 1903000000),
        ('WhatsApp', 2000000000),
    ('Twitter', 30000000), 
        ('Youtube', 200000000);

输出量

执行上述命令后,我们将获得以下结果,该结果显示该值已成功插入到Social_site表中。

正如我们在上面的屏幕截图中看到的那样,多个值已成功插入到Social_site表中。

创建并插入Social_site表的值之后,我们将使用SELECT命令返回Social_site表的所有行:

SELECT * FROM Social_site;

输出量

成功执行上述命令后,我们将得到以下结果:

例2

让我们再看一个示例,以详细了解Integer数据类型。因此,我们将使用CREATE命令到类似的数据库javatpoint存储几个国家的公民,以创建另一个新表作为countries_citizen表:

CREATE TABLE countries_citizen (
    Id SERIAL PRIMARY KEY,
    Country_name VARCHAR (255) NOT NULL,
    citizen INTEGER NOT NULL CHECK (citizen> 0)
);

注意:我们也可以使用INT代替INTEGER作为彼此的替代词。

输出量

执行上述命令后, countries_citizen表已成功创建,如以下屏幕截图所示:

生成country_citizen表后,我们将使用INSERT命令向其中插入一些值,如以下命令所示:

INSERT INTO countries_citizen (Country_name, citizen)
VALUES
('India', 1380004385),
('United States', 331000000), 
     ('Indonesia', 252164800),  
     ('China', 1366990000),
('Brazil',203212000);

输出量

我们将获得有关执行上述命令的以下消息:该值已成功插入country_citizen表中。

创建并插入countries_citizen表的值后,我们将使用SELECT命令返回countries_citizen表的所有行:

SELECT * 
FROM countries_citizen;

输出量

执行上述命令后,我们将获得以下输出:

总览

PostgreSQL Integer数据类型部分中,我们了解到它可以在存储范围,性能和大小之间达到最佳平衡。