python数据库命令_Python数据库操作

前言

上一次的文章实现了数据库的连接,当前文章实现数据库的操作

连接数据库

获得当前工作目录

import os

current_folder=os.getcwd()

生成数据库文件路径

path=current_folder+'\Output\Test.mdb'

数据库连接

def __init__(self,path):

self.conn = pyodbc.connect(r"Driver={Driver do Microsoft Access (*.mdb)};DBQ=" + path + ";Uid=;Pwd=;")

self.cursor = self.conn.cursor()

执行sql语句

def run_sql(self,sql):

self.cursor.execute(sql)

退出程序

def close(self):

#提交所有执行语句

self.conn.commit()

self.cursor.close()

self.conn.close()

表格操作

创建表格

def create_table(self,name,key):

sql="Create table "+name+"("+key+")"

self.run_sql(sql)

复制表格

def coppy_table(self,copy_table,new_table):

sql="select * into "+new_table+" from "+copy_table+" where 1<>1"

self.run_sql(sql)

删除表格

def drop_table(self,name):

sql="drop table "+name

self.run_sql(sql)

获取表格列首

def get_table_column(self,table):

colunm_list=[]

backdata=self.cursor.columns(table)

for row in backdata:

colunm_list.append(row.column_name)

return colunm_list

数据操作

查询数据

def select(self,table_name,key,codition):

sql="SELECT "+key+" from "+table_name+" WHERE "+ codition

self.cursor.execute(sql)

backdata=self.cursor.fetchall()

return backdata

插入数据

def insert(self,table_name,column_list,value_list):

colunm_name_str='('

value_str='('

for index in range(0,len(column_list)):

colunm_name_str=colunm_name_str+column_list[index]+','

value_str=value_str+'\''+str(value_list[index])+'\','

colunm_name_str=colunm_name_str[:-1]+')'

value_str=value_str[:-1]+')'

sql='INSERT INTO %s %s VALUES %s'%(table_name,colunm_name_str,value_str)

self.run_sql(sql)

附录

附上相关函数的使用方法,仅供参考

1. connection 对象方法

close():关闭数据库

commit():提交当前事务

rollback():取消当前事务

cursor():获取当前连接的游标

errorhandler()作为已给游标的句柄

2. cursor游标对象和方法

arrysize(): 使用fetchmany()方法时一次取出的记录数,默认为1

connection():创建此游标的连接

discription():返回游标的活动状态,包括(7要素)(name,type_code,display_size,internal_size,precision,scale,null_ok)其中name,type_code是必须的

lastrowid():返回最后更新行的id,如果数据库不支持,返回none.

rowcount():最后一次execute()返回或者影响的行数

callproc():调用一个存储过程

close():关闭游标

execute():执行sql语句或者数据库命令

executemany():一次执行多条sql语句

fetchone():匹配结果的下一行

fetchall():匹配所有剩余结果

fetchmany(size-cursor,arraysize):匹配结果的下几行

iter():创建迭代对象(可选,参考next())

messages():游标执行好数据库返回的信息列表(元组集合)

next():使用迭代对象得到结果的下一行

nextset():移动到下一个结果集

rownumber():当前结果集中游标的索引(从0行开始)

setinput-size(sizes):设置输入的最大值

setoutput-size(sizes[,col]):设置列输出的缓冲值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Python可以轻松地从Oracle数据库中读取数据并生成报表。以下是一些常用的Python库和步骤: 1. 安装必要的Python库:cx_Oracle、pandas、openpyxl等。 2. 连接到Oracle数据库,可以使用cx_Oracle库连接到Oracle数据库。 3. 通过SQL查询从Oracle数据库中获取数据,使用pandas库可以将查询结果转换为DataFrame对象。 4. 使用openpyxl等库将数据写入Excel文件中。 以下是一个示例代码,用于从Oracle数据库中获取数据并将其写入Excel文件中: ```python import cx_Oracle import pandas as pd from openpyxl import Workbook # 连接Oracle数据库 conn = cx_Oracle.connect('username/password@host:port/service_name') # SQL查询语句 sql = 'SELECT * FROM table_name' # 获取查询结果并转换为DataFrame对象 df = pd.read_sql(sql, conn) # 创建Excel文件 wb = Workbook() # 选择第一个工作表 ws = wb.active # 将DataFrame对象写入Excel文件中 for r in dataframe_to_rows(df, index=False, header=True): ws.append(r) # 保存Excel文件 wb.save('report.xlsx') # 关闭数据库连接 conn.close() ``` 以上代码中,需要替换的部分包括: - `username`和`password`:Oracle数据库的用户名和密码 - `host`:Oracle数据库的主机名或IP地址 - `port`:Oracle数据库的端口号 - `service_name`:Oracle数据库的服务名称 - `table_name`:需要查询的表名 - `report.xlsx`:生成的Excel文件名 当然,如果你需要生成其他格式的报表,可以使用不同的Python库来实现。例如,使用matplotlib库可以生成图表,使用reportlab库可以生成PDF报表等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值