📜  Python PostgreSQL-创建表

📅  最后修改于: 2020-11-07 08:50:54             🧑  作者: Mango


您可以使用CREATE TABLE语句在PostgreSQL中的数据库中创建一个新表。执行此操作时,您需要指定表的名称,列名称及其数据类型。

句法

以下是PostgreSQL中CREATE TABLE语句的语法。

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

以下示例在PostgreSQL中创建一个名为CRICKETERS的表。

postgres=# CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age INT,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
CREATE TABLE
postgres=#

您可以使用\ dt命令获取PostgreSQL数据库中的表列表。创建表后,如果可以验证表列表,则可以在其中观察新创建的表,如下所示:

postgres=# \dt
            List of relations
Schema  | Name       | Type  | Owner
--------+------------+-------+----------
public  | cricketers | table | postgres
(1 row)
postgres=#

以相同的方式,您可以使用\ d来获取创建的表的描述,如下所示:

postgres=# \d cricketers
               Table "public.cricketers"
Column          | Type                   | Collation | Nullable | Default
----------------+------------------------+-----------+----------+---------
first_name      | character varying(255) |           |          |
last_name       | character varying(255) |           |          |
age             | integer                |           |          |
place_of_birth  | character varying(255) |           |          |
country         | character varying(255) |           |          |
postgres=#

使用Python创建表

要使用Python创建表,您需要使用pyscopg2的Cursor的execute()方法执行CREATE TABLE语句。

以下Python示例创建一个名为employee的表。

import psycopg2

#Establishing the connection
conn = psycopg2.connect(
   database="mydb", user='postgres', password='password', host='127.0.0.1', port= '5432'
)
#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Doping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)
print("Table created successfully........")

#Closing the connection
conn.close()

输出

Table created successfully........