连接数据库
获得当前工作目录
1
2import os current_folder=os.getcwd()
生成数据库文件路径
1path=current_folder+'OutputTest.mdb'
数据库连接
1
2
3def __init__(self,path): self.conn = pyodbc.connect(r"Driver={Driver do Microsoft Access (*.mdb)};DBQ=" + path + ";Uid=;Pwd=;") self.cursor = self.conn.cursor()
执行sql语句
1
2def run_sql(self,sql): self.cursor.execute(sql)
退出程序
1
2
3
4
5
6def close(self): #提交所有执行语句 self.conn.commit() self.cursor.close() self.conn.close()
表格操作
创建表格
1
2
3def create_table(self,name,key): sql="Create table "+name+"("+key+")" self.run_sql(sql)
复制表格
1
2
3def coppy_table(self,copy_table,new_table): sql="select * into "+new_table+" from "+copy_table+" where 1<>1" self.run_sql(sql)
删除表格
1
2
3def drop_table(self,name): sql="drop table "+name self.run_sql(sql)
获取表格列首
1
2
3
4
5
6def 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
数据操作
查询数据
1
2
3
4
5
6def select(self,table_name,key,codition): sql="SELECT "+key+" from "+table_name+" WHERE "+ codition self.cursor.execute(sql) backdata=self.cursor.fetchall() return backdata
插入数据
1
2
3
4
5
6
7
8
9
10
11def 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)
附录
想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!
附上相关函数的使用方法,仅供参考
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]):设置列输出的缓冲值
最后
以上就是坚强纸鹤最近收集整理的关于Python数据库操作连接数据库表格操作数据操作附录的全部内容,更多相关Python数据库操作连接数据库表格操作数据操作附录内容请搜索靠谱客的其他文章。
发表评论 取消回复