team470 发表于 2018-8-11 07:02:44

【python学习】python连接数据库实例

#!/bin/env python  
# -*- encoding: utf-8 -*-
  
import MySQLdb
  
import os
  

  
#建立和数据库系统的连接,格式
  
#conn   = MySQLdb.connect(host='localhost',user='root',passwd='123456',db='test',port=3306,charset='utf8')
  
#指定配置文件,确定目录,或则写绝对路径
  
cwd = os.path.realpath(os.path.dirname(__file__))
  
db_conf = os.path.join(cwd, 'db.conf')
  
conn   = MySQLdb.connect(read_default_file=db_conf,host='localhost',db='test',port=3306,charset='utf8')
  
#要执行的sql语句
  
query= 'select idfrom t1'
  
#获取操作游标
  
cursor = conn.cursor()
  
#执行SQL
  
cursor.execute(query)
  
#获取一条记录,每条记录做为一个元组返回,返回3,游标指到第2条记录。
  
result1 = cursor.fetchone()
  
for i in result1:
  
   print i
  
#返回影响的行数
  
   print cursor.rowcount
  
#获取指定数量记录,每条记录做为一个元组返回,返回1,2,游标从第2条记录开始,游标指到第4条记录。
  
result2 = cursor.fetchmany(2)
  
for i in result2:
  
   for ii in i:
  
       print ii
  

  
#获取所有记录,每条记录做为一个元组返回,返回3,4,7,6,游标从第4条记录开始到最后。
  
result3 = cursor.fetchall()
  
for i in result3:
  
   for ii in i:
  
       print ii
  
#获取所有记录,每条记录做为一个元组返回,返回3,4,7,6,游标从第1条记录开始
  
#重置游标位置,0为偏移量,mode=absolute | relative,默认为relative
  
cursor.scroll(0,mode='absolute')
  
result3 = cursor.fetchall()
  
for i in result3:
  
   for ii in i:
  
       print ii
  
#以下2种方法都可以把数据插入数据库:
  
#(one)
  
for i in range (10,20):
  
   query2 = 'insert into t1 values("%d",now())' %i
  
   cursor.execute(query2)
  
   #提交
  
   conn.rollback()
  
#(two)
  
rows = []
  
for i in range (10,20):
  
   rows.append(i)
  
query2 = 'insert into t1 values("%s",now())'
  
#executemany 2个参数,第2个参数是变量。
  
cursor.executemany(query2,rows)
  
#提交
  
conn.commit()
  
#选择数据库
  
query3 = 'select id from dba_hospital'
  
#重新选择数据库
  
conn.select_db('chushihua')
  
cursor.execute(query3)
  
result4 = cursor.fetchall()
  
for i in result4:
  
   for ii in i:
  
       print ii
  
#不定义query,直接执行:
  
cursor.execute("set session binlog_format='mixed'")
  
#关闭游标,释放资源
  
cursor.close()
  
'''
  
+------+---------------------+
  
| id   | modifyT             |
  
+------+---------------------+
  
|    3 | 2010-01-01 00:00:00 |
  
|    1 | 2010-01-01 00:00:00 |
  
|    2 | 2010-01-01 00:00:00 |
  
|    3 | 2010-01-01 00:00:00 |
  
|    4 | 2013-06-04 17:04:54 |
  
|    7 | 2013-06-04 17:05:36 |
  
|    6 | 2013-06-04 17:05:17 |
  
+------+---------------------+
  
'''
页: [1]
查看完整版本: 【python学习】python连接数据库实例