Python连接数据库

Python 安装数据库

MySQL   pip install mysqlclient

Oracle    pip install cx_Oracle    https://cx-oracle.readthedocs.io/en/latest/installation.html#install-cx-oracle

  若MySQL 安装失败,去下载对应版本的包 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient到\Python\Scripts目录下

  注意使用 pip install XX.whl安装前需要保证已安装wheel

 

以MySQL为例 ,导入并创建MySQLdb对象

import MySQLdb

#创建一个Connent对象
connention = MySQLdb.connect(
                host='xxx.xxx.xxx.xxx', #数据库ip
                user='xxx',
                passwd='xxx',
                db='xxx',                #数据库名
                charset='xxx'       #数据编码方式
             
                # show variables like 'character_set_database'  可查看编码方式
)

对MySQLdb对象进行查询和处理

c=Connection.cursor()                     #返回一个cursor对象,游标
c.execute("select * from table")      #执行查询语句
print(c.rowcount)                         #打印查询语句的返回行
row1 = c.fetchone()            #获取单个查询结果内容信息
rows = c.fetchall()            #获取所有的查询结果内容信息,返回的是每一行列表的信息                            
for row in rows:               
    print(row)

 

插入数据

c.execute("insert into sq_course (name, `desc`,display_idx) values('JAVA04','JAVA04的描述',1)")
Connection.commit()

注意,对数据库有修改的时候如插、修改、删除等,需要加上commit() 

 

插入多条数据

# 直接插入数据
c.execute('''insert into sq_course (name, `desc`,display_idx) values
                ('Test00001','Test00001的描述',1),
                ('Test00002','Test00002的描述',1),
                ('Test00003','Test00003的描述',1),
                ('Test00004','Test00004的描述',1),
                ('Test00005','Test00005的描述',1),
                ('Test00006','Test00006的描述',1),
                ('Test00007','Test00007的描述',1),
                ('Test00008','Test00008的描述',1),
                ('Test00009','Test00009的描述',1),
                ('Test000010','Test000010的描述',1),
                ('Test000011','Test000011的描述',1),
                ('Test000012','Test000012的描述',1)
''')
c.commit()

读取文件后,插入数据

idx = 0
with open('filename',encoding='utf8') as f:
    lines = f.read().splitlines()
    for line in lines:
        idx += 1
        if line:   # line不为空
            sql = "insert into sq_course (name, `desc`,display_idx) values(%s)" % line
            c.execute(sql)
            print(idx)    #当前执行的条数

c.commit()

Connention.close() 关闭数据库连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值