zoukankan      html  css  js  c++  java
  • 使用Python操作MySQL

    >>> import MySQLdb #导入MySQL模块
    >>> conn=MySQLdb.connect(host='localhost',port=3306,db='test',user='root',passwd='123456') #默认本机,端口,可以不用指定host,port
    # 登录时不指定db,可以使用select_db选择数据库
    #>>> conn=MySQLdb.connect(user='root',passwd='123456')
    #>>> conn.select_db('test')
    >>> cur=conn.cursor() #生成光标实例
    >>> cur.execute("show tables") # 执行命令,返回受影响的行数
    1L
    >>> cur.execute("desc t1")
    2L
     
    插入单条数据
    >>> cur.execute("insert into t1 values(3,'tom')")
    1L
    插入多条数据
    >>> namelist=[]
    >>> for i in range(10):
    ...     namelist.append((i,'bill'+str(i)))
    >>> cur.executemany("insert into t1 values(%s,%s)",namelist)
    10L
    >>> cur.execute("select * from t1")
    10L
    >>> cur.fetchone() #显示一条记录
    (0L, 'bill0')
     >>> cur.fetchmany(4)  #显示多条记录,fetchmant(n) 显示n条记录
    ((1L, 'bill1'), (2L, 'bill2'), (3L, 'bill3'), (4L, 'bill4'))         
    >>> cur.fetchall()  #显示所有记录
    ((5L, 'bill5'), (6L, 'bill6'), (7L, 'bill7'), (8L, 'bill8'), (9L, 'bill9')) 
     
    scroll 移动光标到某一行,mode='absolute'表示从第一行开始移动;mode=''
    >>> cur.scroll(5,mode="absolute")
    >>> cur.fetchone()
    (5L, 'bill5')
    >>> cur.fetchall()
    ((6L, 'bill6'), (7L, 'bill7'), (8L, 'bill8'), (9L, 'bill9'))
    mode='relative'表示从当前所在行开始移动
    >>> cur.execute("select * from t1")
    10L
    >>> cur.fetchmany(2)  #当前光标在第3行
    ((0L, 'bill0'), (1L, 'bill1'))
    >>> cur.scroll(2,mode="relative") # 从第三行开始移动2行
    >>> cur.fetchone()
    (4L, 'bill4')
     
    >>> conn.commit() #对数据库的操作更改最后需要commit提交才能生效(仅针对innodb,myisam执行execute后会自动生效)
    >>> cur.close() #关闭cursor
    >>> conn.close()  #关闭数据库连接
     
  • 相关阅读:
    无线桥接(WDS)如何设置?
    Linux内核的整体架构简介
    Efuse--芯片存储
    Linux下编写和加载 .ko 文件(驱动模块文件)
    统计难题
    最少拦截系统
    (比赛)B
    (比赛)A
    F
    K
  • 原文地址:https://www.cnblogs.com/williamwan/p/10388731.html
Copyright © 2011-2022 走看看