提示
建议采用 try…except…finally… 或者 try…finally… ,保证与数据库的连接被关闭。
SQL语句入门很简单 (精深很难) ,不会的自己去简单学学。
建库建表
注意connect()如果没对应.db库的话会自动建一个。
import sqlite3
try:
connection = sqlite3.connect('sample.db')
print("Opened database successfully")
cursor = connection.cursor()
cursor.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
print("Table created successfully")
connection.commit()
finally:
connection.close()
插入四行数据
import sqlite3
try:
connection = sqlite3.connect('sample.db')
cursor = connection.cursor()
print("Opened database successfully")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Sam', 32, 'BeiJing', 20000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Bob', 25, 'ShangHai', 15000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Jack', 23, 'Norway', 20000.00)")
cursor.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Tom', 25, 'GuangZhou', 65000.00)")
connection.commit()
print("Records created successfully")
finally:
connection.close()
使用pandas的read_sql_query执行SQL语句并加载结果
使用create_engine,定义了一个到SQLite数据库引擎的连接,然后使用pandas库中的read_sql_query,通过SQL语句查询数据库,并将结果存入一个DataFrame中。
import pandas as pd
from sqlalchemy import create_engine
# 创建一个数据库连接
database_connection = create_engine('sqlite:///sample.db')
# 加载数据
dataframe = pd.read_sql_query('SELECT * FROM COMPANY', database_connection)
# 查看前两行数据
print(dataframe.head(2))
查询结果
ID NAME AGE ADDRESS SALARY
0 1 Sam 32 BeiJing 20000.0
1 2 Bob 25 ShangHai 15000.0