python数据库调用

#!/usr/bin/python
#coding=utf-8

import MySQLdb
import sys

DB_USERNAME=‘scto‘
DB_PASS=‘xjtb2016‘
#DB_CONF_PATH=
DB_HOST=‘127.0.0.1‘
DB_PORT=‘3306‘
DB_BASENAME=‘test‘
DB_CHAR_SET=‘utf8‘

#连接数据库
def get_connect():
return MySQLdb.connect(host=DB_HOST,user=DB_USERNAME,passwd=DB_PASS,db=DB_BASENAME,charset=DB_CHAR_SET)

#获取cursor
def get_cursor(conn):
return conn.cursor()
#打印
def show_print(conn,sql):
cursor = get_cursor(conn)
re = cursor.execute(sql)
for row in cursor.fetchall():
# print "%s" %row
print(row)
# close(cursor,conn)

#关闭数据库连接
def conn_close(conn):
if conn != None:
conn.close()
#关闭cursor方法
def cursor_close(cursor):
if cursor !=None:
cursor.close()

#全部服务关闭
def close(cursor,conn):
cursor_close(cursor)
conn_close(conn)

#查看数据库表情况
def get_databases(conn):
show_print(conn,"show databases")

#查看数据库中的表
def get_tables(conn):
# sql="show tables"
show_print(conn,"show tables")

#查看数据库启动时间
def get_mysqluptime(conn):
show_print(conn,"show global status like ‘uptime‘;")

#插入表数据
def insert_table(conn):
print "欢迎使用插入表数据"
print "<<<----------------------------"
# sql = "insert into hh(id,name,age) values(%s,%s,%s)"
sql = "insert into hh(id,info) values(2,‘hej‘)"
params = (‘2‘,‘hej‘,‘22‘)
print "---------------------------->>>>"
cursor = get_cursor(conn)
cursor.execute(sql)
# result = cursor.execute(sql,params)
conn.commit()
# close(cursor,conn)
# return result
#查看表中相关数据
def query_table(conn,table):
if table != ‘ ‘:
sql = ‘select * from ‘ + table
print "您要查看的具体语句为:\t %s" %sql
show_print(conn,sql)
else:
print ("没有您想查看的表\t"+table)
#更新表数据
def update_table():
sql= ‘update student set name = %s where id = 1‘
params = ("Hehaha")
conn = get_connect()
cursor = get_cursor(conn)
result = cursor.execute(sql, params)
conn.commit()
close(cursor, conn)
return result

#创建表
def create_table(tablename):
if tablename != ‘‘:

conn = get_connect()
cursor = get_cursor(conn)
cursor.execute(‘create table ‘+tablename+‘(id int,info varchar(20))‘)
conn.commit()
else:
print ("您没有输入您想创建的数据库表名\t"+tablename)
#cursor_close(cursor)

#查看连接信息

def print_conn_info():
print ("数据库连接数据为:\t"+ DB_HOST+‘\t‘ + DB_USERNAME +‘\t‘ + DB_PASS +‘\t‘+ DB_BASENAME)

def delete_date(conn,tablename,datasize):
cursor = get_cursor(conn)
cursor.execute(‘delete from ‘+tablename+‘ where id=‘+datasize)
conn.commit()

def get_inputinfo():
print "请输入:\t\n"
result=raw_input()
print ("您的输入为:\t\n"+result)
return result

def main():
#获取标准输入
result=get_inputinfo()

#连接数据库
conn=get_connect()
#查看数据库表情况
get_databases(conn)
#查看数据库中的表
get_tables(conn)
#查看数据库启动时间
get_mysqluptime(conn)
#插入表数据
insert_table(conn)
print "请输入您要查询的数据库表名"
sql=raw_input()
#查看表中相关数据
query_table(conn,sql)
query_table(conn,"student")
#修改数据
update_table()
print "请输入您要创建的数据库表名"
tablename=raw_input()
#创建表
create_table(tablename)

#查看连接信息
print_conn_info()
#删除指定表中的指定数据
print "请输入您要删除的数据库表名\t"
tablename=raw_input()
print "请输入您要删除的数据"
datasize=raw_input()
delete_date(conn,tablename,datasize)

conn_close(conn)

if __name__==‘__main__‘:
main()

时间: 2024-11-08 03:20:54

python数据库调用的相关文章

Python数据库编程

简介 在任何应用中,都需要持久化存储,一般有3种基础的存储机制:文件.数据库系统以及一些混合类型.这种混合类型包括现有系统上的API.ORM.文件管理器.电子表格.配置文件等.在了解数据库以及如何在Python中使用他们之前,首先需要知道数据库概念以及SQL语句. 底层存储 数据库通常使用文件系统作为基本的持久化存储,它可以是普通的操作系统文件.专用的操作系统文件,甚至是原始的磁盘分区. 用户接口 大多数数据库系统提供了命令行工具,可以使用其执行SQL语句或查询.此外还有一些GUI工具,使用命令

Python脚本传参和Python中调用mysqldump

Python脚本传参和Python中调用mysqldump<pre name="code" class="python">#coding=utf-8 import MySQLdb import sys import os # 李红颖编写,用户湖南CLV数据分割使用 print 'dump database:',sys.argv[1] ##传入的第一个参数,数据库名称 print 'dump table:',sys.argv[2] ##传入的第二个参数,表

python数据库查询转dataframe

1. 场景描述 python环境下需要从greenplum/postgresql中,获取算法执行的数据,但是从数据库中查询出来是数组格式的,算法无法使用,需要转换为dataframe格式. 2. 解决方案 结合第三方pandas使用 2.1 数据库调用类 import dbgp as dbgp data = dbgp.queryGp(sql) 2.2 数据库类 ## 导入psycopg2包 import pandas as pd import psycopg2 def queryGp(sql):

Selenium Python浏览器调用:伪浏览器

WebDriver驱动介绍 因为移动端的driver目前没有接触,所以主要介绍PC端driver,PC端的driver都是基于浏览器的,主要分为2种类型: 一种是真实的浏览器driver:safari.firefox.ie.chrome等 比如:safari.firefox.ie.chrome都是通过浏览器原生组件来调用浏览器的原生API,这些driver都是直接启动并通过调用浏览器的底层接口来驱动浏览器的,因此具有最真实的用户场景模拟,主要用于进行web的兼容性测试使用. 一种是伪浏览器dri

在独立的python文件调用django api

在独立的python文件调用django api加入下面代码: 1 import os 2 import sys 3 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4 if root not in sys.path: sys.path.append(root) 5 if os.environ.get('DJANGO_SETTINGS_MODULE') == None: os.environ.setdefaul

Python 显示调用栈

Python调试不如强类型的语言方便,显示调用栈有时非常必要,inspect模块很好用 import inspect inspect.stack() inspect.stack()返回的是一个函数栈帧列表如(已经做了一个for e in inspect(): print e 转化) (<frame object at 0x7f6ec27b2050>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 495, '_is_opt_reg

[Python-MATLAB] 在Python中调用MATLAB的API

可以参考官方的说明文档: http://cn.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for-python.html MATLAB Engine API的使用文档: http://cn.mathworks.com/help/matlab/matlab-engine-for-python.html 原材料: 1.MATLAB 2015a  32位的 2.Python 2.7.13    32位

python下调用c语言代码

1)首先,创建一个.c文件,其大体内容如下: 2 #include <Python.h> 99 char * extract(char * path)                                                   //想要调用的函数100 {112     char * Q = (char * )malloc(3*sizeof(char));           . . .149     return Q;150 }151 152 153 PyObject

Python 远程调用脚本之 RPC

最近有个监控需求,需要远程执行集群每个节点上的脚本,并获取脚本执行结果,为了安全起见不需要账号密码登陆主机,要求只需要调用远程脚本模块的方法就能实现. 总结下python进行远程调用脚本方法: 登陆主机执行脚本,python模块支持如 pssh.pexpect.paramiko 以远程方法调用(不需要登陆主机),python模块 rpyc,支持分布式 socket 方式,稍显复杂,需要熟悉网络协议,起点比较高 rpyc支持远程调用.分布式计算,以较少代码量实现需复杂socket编程,本文主要介绍