📜  PostgreSQL SMALLLINT

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

PostgreSQL SMALLINT

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

什么是PostgreSQL Smallint数据类型?

PostgreSQL中,我们要了解的下一个整数数据类型是SMALLINT。

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

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

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

通常,与其他内置数字数据类型相比,SMALLINT数据类型仅用于存储部分记录范围,例如书中的页数,人的年龄等。

假设数字是否超出最大和最小SMALLINT值的范围。数据库服务器不存储数据值,但作为替代方式会出现错误消息。

PostgreSQL SMALLINT数据类型的语法

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

variable_name SMALLINT

PostgreSQL Smallint数据类型的示例

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

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

在下面的示例中,我们将使用CREATE命令存储员工的年龄,从而将Employee_age创建到javatpoint数据库中。

CREATE TABLE Employee_age(
    Empolyee_id SERIAL PRIMARY KEY,
    Employee_first_name VARCHAR (255) NOT NULL,
    Employee_last_name VARCHAR (255) NOT NULL,
   Employee_age SMALLINT NOT NULL CHECK (Employee_age > 0)
);

输出量

执行完上述命令后,我们将得到以下消息: Employee_age表已成功创建,如以下屏幕截图所示:

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

INSERT INTO Employee_age(Employee_first_name, Employee_last_name, Employee_age)
VALUES
('Michael', 'Smith',22),
('Maria', 'Hernandez', 25), 
       ('James', 'Johnson', 34),  
       ('Margaret', 'Clark', 40),
('Catherine','Wilson',26);

输出量

执行完上述命令后,我们将获得以下消息:该特定值已成功插入Employee_age表中。

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

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

SELECT * 
FROM Employee_age;

输出量

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

例2

让我们再看一个示例,以详细了解Smallint数据类型。

因此,我们将借助CREATE命令将另一个新表作为Book_pages表创建到一个类似的数据库中,该数据库是javatpoint来存储Book_pages表中的页数:

CREATE TABLE Book_pages (
   B_Id SERIAL PRIMARY KEY,
   Book_name VARCHAR (255) NOT NULL,
   Pages_in_book SMALLINT NOT NULL CHECK (Pages_in_book > 0)
);

输出量

执行上述命令后,已成功创建Book_pages表,如以下屏幕快照所示:


注意:在上面的命令中,我们添加了CHECK约束来实现必须为正数的书的页数,因为pages_in_book列是SMALLINT列。

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

INSERT INTO Book_pages(Book_name, Pages_in_book)
VALUES
    ('The Blind Assassin ', 637),
    ('the Overstory', 512), 
    ('Cloud Atlas', 528),  
    ('The Stand by Stephen King', 1153);

输出量

在执行上述命令时,我们将获得以下消息:该值已成功插入Book_pages表中。

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

SELECT * 
FROM Book_pages;

输出量

实施上述命令后,我们将获得以下输出,如以下屏幕截图所示:

总览

PostgreSQL Smallint数据类型部分中,我们了解到它仅存储有限范围的记录,例如书中的页数,人的年龄