📅  最后修改于: 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创建表,您需要使用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........