一、简介
PostgreSQL是一款功能强大的开源对象关系型数据库管理系统。用于安全地存储数据,支持最佳操作,并允许再处理请求时检索它们。
PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。
下载地址:https://www.postgresql.org/download/
二、安装步骤
(1)首先解压压缩文件,在pgsql文件夹下建立一个名为data的文件夹。
(2)可手动配置环境变量,如下:
PGHOME=C:\pgsql
%PGHOME%\bin;%PGHOME%\lib;%PGHOME%\data
或者在pgsql文件夹下新建一个名为env.vbs的文件 ,运行env.vbs脚本文件,内容如下:
on error resume next
set sysenv=CreateObject("WScript.Shell").Environment("system") 'system environment array
Path = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path 'add variable
sysenv("PGHOME")="C:\pgsql"
sysenv("PGHOST")="localhost"
sysenv("Path")=sysenv("PGHOME")+"\bin;"+sysenv("Path")
sysenv("PGLIB")=sysenv("PGHOME")+"\lib"
sysenv("PGDATA")=sysenv("PGHOME")+"\data"
wscript.echo "PostgreSQL Success"
(4)以管理员身份打开命令提示符,定位到bin目录下。
(5)初始化数据库。
initdb.exe -D C:\pgsql\data -E UTF-8 --locale=chs -U postgres -W
(6)启动数据库。
pg_ctl -D C:\pgsql\logfile -l logfile start
(7)注册服务,完成之后查看服务列表,检验是否已经生成服务。
pg_ctl register -N PostgreSQL -D C:\pgsql\data
(8)在C:\pgsql\pgAdmin 4\bin下,有pgAdmin4.exe,双击打开,可建立数据库连接。推荐使用Navicat>https://blog.csdn.net/weixin_43166227/article/details/93616824。
三、增删改查-python
(1)建表
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
sqlstr="""
DROP TABLE IF EXISTS table_name;
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
"""
cursor.execute(sqlstr)
conn.commit()
conn.close()
(2)单条插入
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
cur.execute("INSERT INTO table_name(column1 ,column2 ,column3 ,...) \
VALUES (v1,v2,v3,...);
conn.commit()
conn.close()
(3)批量插入
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
values=[(v1,v2,v3,...),(v1,v2,v3,...),(v1,v2,v3,...),...]
sql_insert="""INSERT INTO table_name(column1 ,column2 ,column3 ,...) VALUES(%s,%s,%s,...)"""
try:
cursor.executemany(sql_insert,values)
#提交事务
db.commit()
print("insert ok")
except Exception as e:
#如果异常则回滚事务
db.rollback()
raise e #可做自己想做的事
finally:
db.close()
(3)删除
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
cur.execute("DELETE FROM table_name WHERE [condition]")
conn.commit()`在这里插入代码片`
conn.close()
(4)修改
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
cur.execute("UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];")
conn.commit()
conn.close()
(5)查询
import psycopg2
#建立连接
db=pg.connect(database="pgtest", user="pgsql", password="***", host="127.0.0.1", port="5432")
#获取cursor
cursor2 = db2.cursor()
cur.execute("SELECT column1, column2,...columnN FROM table_name;")
conn.commit()
conn.close()
(6)psycopg2安装
pip/conda install psycopg2
修改pip源:https://blog.csdn.net/chenghuikai/article/details/55258957
参考
https://www.runoob.com/postgresql/postgresql-select.html
https://www.jb51.net/article/114320.htm