PostgreSQL 创建表格
PostgreSQL 使用 CREATE TABLE 语句来创建数据库表格。
语法
CREATE TABLE 语法格式如下:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( 一个或多个列 )
);
CREATE TABLE 是一个关键词,用于告诉数据库系统将创建一个数据表。
表名字必需在同一模式中的其它表、 序列、索引、视图或外部表名字中唯一。
在 PostgreSQL 数据库管理系统中,创建表格是数据存储和管理的基础操作。`CREATE TABLE` 语句是用来构建新表格的关键命令,允许用户定义表格结构,包括列名、数据类型以及约束条件。下面我们将深入探讨 `CREATE TABLE` 的语法、常用选项以及如何通过实例来创建表格。
### `CREATE TABLE` 语法
`CREATE TABLE` 语句的基本语法如下:
```sql
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
...
columnN datatype constraint,
PRIMARY KEY (one_or_more_columns)
);
```
其中:
- `table_name` 是你想要创建的表格的名称,必须在当前模式下是唯一的。
- `column1`, `column2`, ..., `columnN` 是表格中的列名,可以自定义。
- `datatype` 是列的数据类型,如 `INT`, `VARCHAR`, `DATE`, `TIMESTAMP`, `REAL` 等。
- `constraint` 可选,用于定义列的约束条件,如 `NOT NULL`(不允许 NULL 值),`UNIQUE`(唯一值),`FOREIGN KEY`(外键)等。
- `PRIMARY KEY` 定义表格的主键,主键列的值必须唯一且不能为 NULL。
### 数据类型
在 PostgreSQL 中,数据类型有很多种,以下是一些常用的数据类型:
- `INT` 或 `INTEGER`:整型。
- `TEXT`:可变长度的文本。
- `CHAR(n)`:固定长度的字符,n 表示最大长度。
- `VARCHAR(n)`:可变长度的字符,n 表示最大长度。
- `DATE`:日期。
- `TIME`:时间。
- `TIMESTAMP`:日期和时间。
- `REAL` 或 `FLOAT`:单精度浮点数。
- `DOUBLE PRECISION`:双精度浮点数。
### 实例
让我们来看两个具体的创建表格的例子:
1. 创建一个名为 `COMPANY` 的表格,其中包含 `ID`(主键,非 NULL)、`NAME`(非 NULL)、`AGE`(非 NULL)、`ADDRESS`(字符类型,50 个字符)和 `SALARY`(浮点数)列:
```sql
CREATE TABLE COMPANY (
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
```
2. 创建一个名为 `DEPARTMENT` 的表格,包含 `ID`(主键,非 NULL)、`DEPT`(非 NULL,部门名)和 `EMP_ID`(非 NULL,员工 ID,可能作为外键引用 `COMPANY` 表的 `ID` 列):
```sql
CREATE TABLE DEPARTMENT (
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
```
### 验证创建
创建完表格后,可以使用 `\d` 或 `SELECT * FROM information_schema.tables WHERE table_name = 'your_table_name';` 来验证表格是否已经创建并查看其详细信息。例如:
```sql
runoobdb=# \d
```
或者
```sql
runoobdb=# SELECT * FROM information_schema.tables WHERE table_name = 'company';
```
这将列出所有已创建的表格及其属性,确认 `COMPANY` 和 `DEPARTMENT` 是否在其中。
### 索引
在创建表格时,可以同时创建索引以提高查询性能。例如,在 `CREATE TABLE` 语句中,`"company_pkey"` 是一个自动创建的主键索引,它基于 `id` 列。若需手动创建其他类型的索引,如普通索引、唯一索引或全文索引,可以在语句中添加 `CREATE INDEX` 子句。
`CREATE TABLE` 是 PostgreSQL 中用于创建新表格的重要命令,它定义了表格的结构和约束,为后续的数据插入、查询和更新提供了基础。理解并熟练运用 `CREATE TABLE` 语句是数据库管理和开发人员的基本技能。
- 1
- 2
前往页