PostgreSQL 使用 CREATE TABLE 語句來創建數據庫表格。
語法
CREATE TABLE 語法格式如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( 一個或多個列 )
);
CREATE TABLE 是一個關鍵詞,用於告訴數據庫系統將創建一個數據表。
表名字必需在同一模式中的其它表、 序列、索引、視圖或外部表名字中唯一。
CREATE TABLE 在當前數據庫創建一個新的空白表,該表將由發出此命令的用戶所擁有。
表格中的每個字段都會定義數據類型,如下:
實例
以下創建了一個表,表名為 COMPANY 表格,主鍵為 ID,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 命令來查看表格是否創建成功:
runoobdb=# \d
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
\d tablename 查看表格信息:
runoobdb=# \d company
Table "public.company"
Column | Type | Collation | Nullable | Default
---------+---------------+-----------+----------+---------
id | integer | | not null |
name | text | | not null |
age | integer | | not null |
address | character(50) | | |
salary | real | | |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)
有個問題
使用命令創建倆表后,在命令行中可以查看的到,但是使用navicat連接后查看,卻查看不到這倆表,使用navicat中的命令行也是查看不到這倆表
問題解決:
使用的navicat版本是12,換成15的版本就可以了(不指定schema的話默認是public)