一、PostgreSQL数据库简介
PostgreSQL 是一个免费的对象-关系数据库管理系统(ORDBMS)。
二、psql
psql是PostgreSQL的一个命令行交互式客户端工具,它具有非常丰富的功能,类似于Oracle的命令行工具sqlplus。
psql命令:
(1)查看有哪些数据库
切换su - postgres用户(直接在终端输入psql也可实现),在postgres用户下输入\l
(2)连接指定服务器上的数据库
psql -h IP地址或数据库名 -p 端口 -U 用户名 -d 数据库名
(3)查看数据库中的表
\d
(4)查看表的具体信息
\d 表名
(5)创建表
命令:CREATE TABLE 表名(字段1 字段1的数据类型,字段2 字段2的数据类型,字段3 字段3的数据类型,···);
(6) 删除某个表
drop table 表名;
(7)在表中每次插入一条数据
命令:INSERT INTO 表名 (字段1,字段2,字段3,···) VALUES (字段1的值,字段2 的值,字段3的值,···);
(8)查询表中的所有数据
SELECT * FROM 表名;
SELECT * FROM 表名 WHERE 字段名 = 字段值;
(10)统计表中的所有记录总数
SELECT COUNT(*) AS "RECORDS" FROM 表名;
(11)更新表中某个ID的某个字段的值
UPDATE 表名 SET 字段名=字段更新的值 WHERE ID =ID 号;
(12) 同时更新表中某个ID的多个字段的值
UPDATE 表名 SET 字段1=字段1更新的值,字段2=字段2更新的值 WHERE ID =ID号;
(13)同时更行表中多个字段的值(不区分ID)
UPDATE 表名 SET 字段1=字段1更新的值,字段2=字段2更新的值;
(14)按特定条件删除表中的数据
DELETE FROM 表名 WHERE 字段名=字段值;
(15)查看当前时间
SELECT CURRENT_TIMESTAMP;
(16)找出表中某个字段不为空的记录
SELECT * FROM 表名 WHERE 字段 IS NOT NULL;
(17)SELECT * FROM 表名 WHERE 字段 IS NULL;
(18)从表的某行开始获取N条数据,一般通过该命令实现分页功能
以下语句表示:从表t_host的0行开始获取20条数据。
SELECT "t1"."id", "t1"."create_at", "t1"."update_at", "t1"."sn", "t1"."ip", "t1"."ipmi", "t1"."ipmi_user", "t1"."ipmi_password", "t1"."card_type", "t1"."power_status", "t1"."stage", "t1"."task_id", "t1"."create_by", "t1"."update_by" FROM "t_host" AS "t1" LIMIT 20 OFFSET 0
三、数据库中运算符相关操作
四、使用python调用psql语句
python包:psycopg2
(1)连接数据库
(2)查看当前数据库中的表
(3)创建表
(4)删除某个表
(5)在表中每次插入一条数据
(6)查询表中的所有数据
(7)查询表中特定条件的数据记录
(8)统计表中所有记录总数
(9)查询表中某个字段不为空的记录
(10)查询表中某个字段为空的记录
(12)同时更新表中某个ID的多个字段的值
(13)同时更行表中多个字段的值(不区分ID)
(14)按特定条件删除表中的数据
(15)查看当前时间
五、使用orm调用psql语句
orm简介:即将SQL语句使用类来实现。
数据库的表中的一行数据代表一个model类的实例。
python包:peewee
安装:pip install peewee
pip install pymysql
(1)连接数据库
备注:db.connect() 只有在用到的时候才需要打开连接
(2)查看当前数据库中的表
(3)查看某个表的具体信息
(4) 创建表(使用类来实现数据库中的表)
(5)删除某个表
(6) 在表中每次插入一条数据
(7) 在表中一次插入多条数据
(8)查询表中所有数据
将以上数据库中查询到的数据使用字典的数据类型展示:
print(list(notes.dicts()))
(9) 查询表中特定条件的数据记录
(10) 统计表中的所有记录总数
(11) 更新表中某个ID的某个字段的值
(12) 同时更新表中某个ID的多个字段的值
(13) 同时更行表中多个字段的值(不区分ID)
(14) 按特定条件删除表中的数据
(15)关闭数据库连接
(16) 使用sql()方法显示生成的 SQL 语句
(17) 使用order_by()对检索到的实例进行排序
(18) 获取表中的某几行数据
参考文档:python | Peewee 教程 | 犀牛的博客