📅  最后修改于: 2020-11-30 07:36:05             🧑  作者: Mango
在本节中,我们将了解PostgreSQL Smallint数据类型的工作。我们还看到了Smallint数据类型的示例。
在PostgreSQL中,我们要了解的下一个整数数据类型是SMALLINT。
SMALLINT数据类型小范围整数涉及2个字节的存储大小,并在有符号范围和无符号范围内存储整数。
并且Signed范围从-32768到32767 。无符号范围从0到65535开始。 size参数用于定义最大显示宽度255 。
注意:PostgreSQL不允许我们使用无符号整数类型。
通常,与其他内置数字数据类型相比,SMALLINT数据类型仅用于存储部分记录范围,例如书中的页数,人的年龄等。
假设数字是否超出最大和最小SMALLINT值的范围。数据库服务器不存储数据值,但作为替代方式会出现错误消息。
PostgreSQL SMALLINT数据类型的语法如下:
variable_name 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;
输出量
成功执行上述命令后,我们将获得以下输出:
让我们再看一个示例,以详细了解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数据类型部分中,我们了解到它仅存储有限范围的记录,例如书中的页数,人的年龄。