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 "您要查看的具体语句为: %s" %sql
show_print(conn,sql)
else:
print ("没有您想查看的表 "+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 ("您没有输入您想创建的数据库表名 "+tablename)
#cursor_close(cursor)

#查看连接信息

def print_conn_info():
print ("数据库连接数据为: "+ DB_HOST+' ' + DB_USERNAME +' ' + DB_PASS +' '+ 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 "请输入: "
result=raw_input()
print ("您的输入为: "+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 "请输入您要删除的数据库表名 "
tablename=raw_input()
print "请输入您要删除的数据"
datasize=raw_input()
delete_date(conn,tablename,datasize)

conn_close(conn)

if __name__=='__main__':
main()

原文地址:https://www.cnblogs.com/st12345/p/6646578.html