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是约束条件,表明在这个表中创建记录时这些字段不能为空。 −
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)