Skip to content

创建

在Polars中,SQLContext提供了一种使用SQL语法对LazyFramesDataFrames执行SQL语句的方式。可以使用SQLContext执行的SQL语句之一是CREATE TABLE语句,该语句用于创建新表。

Polars 中 CREATE TABLE 语句的语法如下:

CREATE TABLE table_name
AS
SELECT ...

在这个语法中,table_name 是将要创建的新表的名称,而 SELECT ... 是一个定义将插入表中的数据的 SELECT 语句。

以下是如何在Polars中使用CREATE TABLE语句的示例:

register · execute

data = {"name": ["Alice", "Bob", "Charlie", "David"], "age": [25, 30, 35, 40]}
df = pl.LazyFrame(data)

ctx = pl.SQLContext(my_table=df, eager=True)

result = ctx.execute(
    """
    创建表 older_people
    作为
    从 my_table 中选择 * 其中 age > 30
"""
)

print(ctx.execute("SELECT * FROM older_people"))

shape: (2, 2)
┌─────────┬─────┐
│ name    ┆ age │
│ ---     ┆ --- │
│ str     ┆ i64 │
╞═════════╪═════╡
│ Charlie ┆ 35  │
│ David   ┆ 40  │
└─────────┴─────┘

在这个例子中,我们使用SQLContextexecute()方法来执行一个CREATE TABLE语句,该语句基于一个SELECT语句创建一个名为older_people的新表,该SELECT语句从my_table DataFrame中选择age列大于30的所有行。

注意

请注意,CREATE TABLE语句的结果不是表本身。表是在SQLContext中注册的。如果你想将表转换回DataFrame,你可以使用SELECT * FROM ...语句