可以在PostgreSQL数据库中插入Python元组吗

0 投票
4 回答
5485 浏览
提问于 2025-04-16 13:54

在PostgreSQL数据库中插入一个Python元组是否可行?

4 个回答

1

其实我们需要更多的信息。这个元组里面包含了什么数据呢?是单纯的整数吗?还是字符串?或者是几兆的图片?

比如说,如果你有一个Python元组像这样 (4,6,2,"Hello",7),你可以把这个字符串 '(4,6,2,"Hello",7)' 插入到Postgres数据库里,但这可能不是你真正想要的答案。

在你搞清楚要存储什么数据之前,真的很难决定怎么存储或者存在哪里。


补充:所以简单来说,答案是“不”,你不能把一个任意的 Python元组直接存到Postgres数据库里,但可能有办法把元组里面的内容提取出来,存到一个有用的地方。

2

是的,PostgreSQL支持将数组作为列类型。

CREATE TABLE tuples_table (
   tuple_of_strings text[],
   tuple_of_ints    integer[]
);

那么插入数据的方式是这样的:

INSERT INTO tuples_table VALUES (
('{"a","b","c"}', '{1,2}'), 
('{"e",'f... etc"}', '{3,4,5}')
);
3

是的,可以这么做。最简单的方法可能是使用一些工具,比如marshalpickle或者json,把数据转成一种可以存储的格式,然后放在一个text字段里。

另一种方法是利用Postgres提供的多种数据类型,比如数组类型

最后,如果每个元组的元素数量和类型都是固定的,那你可以直接创建这么多列,把每个元素对应到表格的列里。

撰写回答