pandas 鏈結資料庫

2021-08-28 07:50:55 字數 1795 閱讀 3264

直接執行sql

from pandas.io import sql

sql.execute(『select * from table_name』, engine)

sql.execute(『insert into table_name values(?, ?, ?)』, engine,

params=[(『id』, 1, 12.2, true)])

建立鏈結

from sqlalchemy import create_engine

engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase')

engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')

engine = create_engine('oracle:')

engine = create_engine('mssql+pyodbc://mydsn')

# sqlite:///# where is relative:

engine = create_engine('sqlite:/')

# or absolute, starting with a slash:

engine = create_engine('sqlite:absolute/path/to/foo.db')

建立引擎

from sqlalchemy import create_engine

engine = create_engine('sqlite:///:memory:')

with engine.connect() as conn:

data = pd.read_sql_table('data', conn)

chunksize設定每次寫入的數量,有些資料庫會設定限制。

data.to_sql(『data_chunked』, conn, chunksize=1000)

指定相應的資料型別

from sqlalchemy.types import string

data.to_sql(『data_dtype』, engine, dtype=)

指定索引列

pd.read_sql_table(『data』, engine, index_col=『id』)

指定時間型別

pd.read_sql_table(『data』, engine, parse_dates=[『date』])

讀取sql語句選擇的資料

pd.read_sql_query(『select * from data』, engine)

列子:通過sqlalchemy轉換指定的資料庫格式

from sqlalchemy import create_engine

from sqlalchemy import date

import pandas as pd

a=df=pd.dataframe(a)

engine = create_engine(

"postgresql://user:psword@localhost:5432/postgres",

pool_size=20, max_overflow=0,

)with engine.connect() as conn:

df.to_sql("test", conn, if_exists='replace', index=false,dtype=)

參考文獻:

資料庫鏈結

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

資料庫鏈結遠端資料庫查詢

建立鏈結伺服器 exec sp addlinkedserver srv lnk sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin srv lnk false null,使用者名稱 密碼 go 查詢示例 select from srv lnk.資料庫名.db...

資料庫鏈結(DBLINK)

在分布式資料庫應用中,會使用到資料庫鏈結,即dblink,它是用來訪問分布式環 境下其它資料庫例項的,它定義的是乙個資料庫伺服器到另乙個資料庫伺服器的單向入 口,注意 是 單向 這說明只有擁有dblink的那方才能訪問dblink指向的資料庫服 務器。建立dblink 使用 create datab...