Python量化数据仓库搭建系列2:Python操作数据库

本教程针对量化开发者,介绍如何使用Python操作数据库,包括pymysql和sqlalchemy库来连接和操作MySQL,以及Python操作MongoDB、SQLite、PostgreSQL的基础方法。通过实例展示数据的增删改查及数据框与数据库之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python量化数据仓库搭建系列2:Python操作数据库

本系列教程为量化开发者,提供本地量化金融数据仓库的搭建教程与全套源代码。我们以恒有数(UDATA)金融数据社区为数据源,将金融基础数据落到本地数据库。教程提供全套源代码,包括历史数据下载与增量数据更新,数据更新任务部署与日常监控等操作。

在上一节讲述中,我们选择了MySQL作为本系列教程的数据库,故本文着重讲解Python操作MySQL的步骤,并封装方法。在文末简单介绍Python操作MongoDB、SQLite、PostgreSQL数据库;

一、pymysql用法

1、安装pymysql模块
pip install pymysql
2、连接数据库
from pymysql import * 
# 打开数据库连接,数据库参数可以在MySQL界面或数据库配置文件中查看
conn = pymysql.connect(host = '数据库IP',
                       port = '端口',
                       user = '用户名',
                       password = '密码',
                       database='数据库名称')

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()

# 在数据库操作执行完毕后,关闭数据库连接
# conn.close()
3、常见SQL代码执行
from pymysql import * 
# 执行SQL代码:建表、删表、插入数据
def Execute_Code(sql_str):
    # 打开数据库连接
	conn = pymysql.connect(host = '127.0.0.1',port = 3306,user = 'root',
                           password = '密码',database='udata')
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = conn.cursor()
    try:
        # 使用execute()方法执行SQL
        cursor.execute(sql)
        # 提交到数据库执行
        conn.commit()
	except:
        # 发生错误时回滚
        conn.rollback()
    # 关闭数据库连接
    conn.close() 

A、建表

sql_str = '''CREATE TABLE TB_Stock_List_Test (
                        secu_code CHAR(20),
                        hs_code CHAR(20),
                        secu_abbr CHAR(20),
                        chi_name CHAR(40),
                        secu_market CHAR(20), 
                        listed_state CHAR(20),
                        listed_sector CHAR(20),
                        updatetime CHAR(20));'''
Execute_Code(sql_str)

B、插入数据

sql_str = '''
INSERT INTO TB_Stock_List_Test
(`secu_code`,`hs_code`,`secu_abbr`,`chi_name`,`secu_market`,`listed_state`
,`listed_sector`,`updatetime`)
VALUES
('000001','000001.SZ','平安银行','平安银行股份有限公司','深圳证券交易所','上市',
'主板','2021-10-25 20:10:55');
'''
Execute_Code(sql_str)

C、更新数据

sql_str = "UPDATE tb_stock_list SET updatetime = '2021-10-30 20:10:55' "
Execute_Code(sql_str)

D、删除数据

sql_str = 'DELETE FROM tb_stock_list'
Execute_Code(sql_str)

E、删除表格

sql_str = 'DROP TABLE IF EXISTS tb_stock_list'
Execute_Code(sql_str)
4、查询操作

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值