Python Mysql操作.

1. 安装MySQLdb.从网站下载Mysql for python 的package 注意有32位和64位之分.

2. 安装完成之后从Python IDLE 导入MySQLdb

  >>>import MySQLdb

3. 新建一个数据库连接:

  >>>conn =MySQLdb.connect(host = ‘127.0.0.1‘,user= ‘root‘,passwd=‘123456‘,db=‘test‘,port=3306,charset=‘utf8‘)

  >>>

  注意:其中的hsot 参数的值也可写为host = "localhost", passwd 切勿写成了password, port 参数需要int类型,上面的3306不要加引号. charset要和数据库的字符集相同.

4. 创建游标:

  >>>cur = conn.cursor()

  >>>

5. 执行插入单条数据命令

  >>>cur.execute("insert into msg (title,name,content) values (‘python‘,‘zz‘,‘test mysql insert‘)")

  1L  #返回受影响的记录条数.

  >>>conn.commit()  #需要提交事务插入才会生效.

  >>>

6. 利用参数插入多条数据命令

  >>>sql = "insert into msg (title,name,content) values (%s,%s,%s)"  #定义一个sql语句

  >>>cur.executemany(sql,[(‘title01‘,‘name01‘,‘content01‘),(‘title02‘,‘name02‘,‘content02‘)])

  2L

  >>>conn.commit()

  >>>

7. 利用 for 循环拼接sql命令插入多条数据.

  >>>sql = "insert into msg (title,name,content) values"

  >>>for i in range (100):

 >>>  sql += "(‘id" + str(i) + "‘," + "‘name" + str(i) + "‘," + "‘content" + str(i) + "‘),"

  >>>sql = sql[:-1]  #利用切片将最后的"," 删除.

  >>>cur.execute(sql)

  103L

  >>>conn.commit()

  >>>

8. 执行删除命令

  >>>cur.execute("delete from msg where title = ‘title02‘ ")

  1L

  >>>conn.commit()

  >>>

9. 执行更改命令

  >>>cur.execute("update msg set title=‘changedTitle‘ where title=‘title01‘")

  1L

  >>>conn.commit()

  >>>

10. 执行查询命令

  >>>cur.execute("select * from msg")

  3L #返回记录条数

  >>>

python的查询语句并不会返回数据库中存取的实际值, 仅返回获得的记录条数, 那么想要获得数据库中的值该怎么做呢?

我们需要用到游标的fetch.

11. 利用fetchone()获得一条记录.该条记录是当前游标所在行的下一行数据.

  >>>cur.fetchone()

  (1L, ‘title01‘, ‘name01‘, ‘content01‘)

12. 利用fetchmany(size=num) 获取多条记录.

  >>>cur.fetchmany(size=5)

  ((2L, ‘python‘, ‘ChenYL‘, ‘insert content‘), (3L, ‘py03‘, ‘name03‘, ‘content03‘), (4L, ‘py04‘, ‘name04‘, ‘content04‘), (5L, ‘id0‘, ‘name0‘, ‘content0‘),   (7L, ‘id2‘, ‘name2‘, ‘content2‘))

  >>>

Note: 此处若查询数据多于size参数则获取和size参数相同的记录条数, 若查询数据记录少于size参数的值,则只显示查询到的数据记录条数.

13. 利用fetchall()获取从游标位置下一行开始直到查询记录结束的全部记录.

  >>>cur.fetchall()

  105L

  >>>

14. 利用scroll()移动游标

  >>>cur.scroll(1,mode="absolute")

  >>>

Note: 当mode为absolute时游标走到表中的第一个参数行(若第一个参数为1,则走到表中第一行),次数用fetchone()会取到第二行.

当mode为relative是,此时游标会往下走一行, 假如游标在第三行, scroll之后会走到第四行.

15. 数据库使用完之后记得关闭游标. 关闭数据库连接.

  >>>cur.close()

  >>>conn.close

 注: 上述实例执行结果返回的记录条数和结果与数据库中记录相关.

时间: 2024-10-20 04:14:55

Python Mysql操作.的相关文章

Python MySql 操作类

Python 2.7 暂时只用到这么多,以后用到其他的再补充. # -*- coding:utf-8 -*- import MySQLdb import time ''' · MySQL 操作类 · V1.0 ''' class MySQLClass(object): def __init__(self,host,user,password,charset="utf8"): super(MySQLClass, self).__init__() self.host=host self.u

Python mysql 操作小类,供大家用用

import binascii import os import linecache import time #add pyDes path #sys.path.append("/data1/wwwroot") import pyDes import statConfig import MySQLdb class mysqlHelper: _conn=None def __init__(self,confdic=None): if not confdic: confdic=statCo

python简单操作mysql

引: 要想使用python操作mysql需要安装mysql-python插件,可以到mysql官网http://dev.mysql.com/downloads/connector/python/进行下载 我所使用的版本为MySQL-python-1.2.5.win32-py2.7,代表只支持使用python2.7. 相关的mysql操作请参考mysql 基本操作 下面为进行mysql增.删.改.查等相应操作: 查: #!/usr/bin/env python # --*-- coding:utf

Python/MySQL表操作以及连接

Python/MySQL表操作以及连接 mysql表操作: 主键:一个表只能有一个主键.主键可以由多列组成. mysql> create table yuan(id int auto_increment,yuangongname int,bumen_id int, primary key(id,yuangongname))engine=innodb default charset=utf8; Query OK, 0 rows affected (0.43 sec) 外键 :可以进行联合外键,操作

python关于Mysql操作

一.安装mysql windows下,直接下载mysql安装文件,双击安装文件下一步进行操作即可: Linux下的安装也很简单,除了下载安装包进行安装外,一般的linux仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu.deepin sudo apt-get install mysql-server Sudo apt-get install  mysql-client centOS.redhat yum install mysql 二.安装MySQL-python

python 学习第十一课 上下文管理 paramiko 堡垒机 mysql操作

Rlock 与 Lock 这两种琐的主要区别是:RLock允许在同一线程中被多次acquire.而Lock却不允许这种情况.注意:如果使用RLock,那么acquire和release必须成对出现,即调用了n次acquire,必须调用n次的release才能真正释放所占用的琐 >>> help(threading.RLock) RLock(*args, **kwargs) Factory function that returns a new reentrant lock. A reen

Python之MySQL操作及Paramiko模块操作

一.MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL

python学习道路(day12note)(mysql操作,python链接mysql,redis)

1,针对mysql操作 1 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 2 update user set password=passworD("test") where user='root';修改密码 3 flush privileges; 4 grant all on *.* to [email protected]'%' identified by 'your_password'; 5 mysq

Python/MySQL(四、MySQL数据库操作)

Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: 1 case when id>9 then ture else false 二.三元运算: 1 if(isnull(xx)0,1) 三.上下连表: select id,name from ta1 union 天然去重(检测上边的表和下边的表行内完全一样就只显示一行内容) select num,sname from tb2 ========================================== select