PostgreSQL – 创建表
PostgreSQL – 创建表
PostgreSQL CREATE TABLE 语句用于在任何给定数据库中创建新表。
句法
CREATE TABLE 语句的基本语法如下 –
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) );
CREATE TABLE 是一个关键字,告诉数据库系统创建一个新表。表的唯一名称或标识符遵循 CREATE TABLE 语句。最初,当前数据库中的空表由发出命令的用户拥有。
然后,在括号中,是列表,定义表中的每一列以及它是什么类型的数据类型。通过下面给出的示例,语法将变得清晰。
例子
以下是一个示例,它创建了一个以 ID 作为主键的 COMPANY 表,NOT NULL 是显示在此表中创建记录时这些字段不能为 NULL 的约束 –
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
让我们再创建一张表,我们将在后续章节的练习中使用它 –
CREATE TABLE DEPARTMENT( ID INT PRIMARY KEY NOT NULL, DEPT CHAR(50) NOT NULL, EMP_ID INT NOT NULL );
您可以使用\d命令验证您的表是否已成功创建,该命令将用于列出附加数据库中的所有表。
testdb-# \d
上面给出的 PostgreSQL 语句将产生以下结果 –
List of relations Schema | Name | Type | Owner --------+------------+-------+---------- public | company | table | postgres public | department | table | postgres (2 rows)
使用\d tablename描述每个表,如下所示 –
testdb-# \d company
上面给出的 PostgreSQL 语句将产生以下结果 –
Table "public.company" Column | Type | Modifiers -----------+---------------+----------- id | integer | not null name | text | not null age | integer | not null address | character(50) | salary | real | join_date | date | Indexes: "company_pkey" PRIMARY KEY, btree (id)