python菜鸟晋级10----数据库操作

介绍

python3发布以来,获取了广大程序员们的差评,说不稳定,又是不兼容什么的,不过差评归差评,python3既然已经发布,肯定是个趋势,但在python3.4里面,使用原来python2.7的mysqldb已经不能连接mysql数据库了,比较令人纠结,不过我们可以使用pymysql,来完成连接mysql的重任,步骤如下:

序号 描述
1 去github上下载pymysql的安装包 pymysql
2 解压到某个盘符下
3 打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install
4 在程序里,导入pymysql
5 开始连接数据库

数据库操作的API文档连接: http://legacy.python.org/dev/peps/pep-0249/

例子

#导入pymysql的包
import pymysql
try:
#获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
  conn=pymysql.connect(host='localhost',user='root',passwd='123456',port=3306,charset='utf8')
  cur=conn.cursor()                              #获取一个游标对象
  cur.execute("CREATE DATABASE test15")          #执行对应的SQL语句
  cur.execute("USE test15")
  cur.execute("CREATE TABLE users (id INT, name VARCHAR(18))")
  cur.execute("INSERT INTO users VALUES(1, 'blog'),(2, 'csdn'),(3, 'net'),(4, 'a359680405')")

  cur.execute("SELECT * FROM users")
  data=cur.fetchall()

  for row in data:
      print('%s\t%s' %row)                       

  cur.close()                                    #关闭游标
  conn.commit()                                  #向数据库中提交任何未解决的事务,对不支持事务的数据库不进行任何操作
  conn.close()                                   #关闭到数据库的连接,释放数据库资源
except  Exception :print("发生异常")

如果是想python3.4搭配django1.7.2需要在站点的__init__.py文件中,我们添加如下代码:

1 import pymysql
2 pymysql.install_as_MySQLdb()

做完上述动作后,即可在django中访问mysql了。

上一讲:python菜鸟晋级09----正则表达式

下一讲:

欢迎收听我的微信公众号

时间: 2024-10-26 02:55:42

python菜鸟晋级10----数据库操作的相关文章

Python菜鸟晋级08----str.format()方法

用法 str.format()方法会返回一个新的字符串,在新的字符串中,原字符串的替换字段(大括号中和数字是预留的替换字段)被format方法中的参数代替. 替换字段被format方法中参数代替有一下集中形式------------------------- 按照位置 '{0},{1}'.format('kzc',18) #按照替换字段中的数字带入format方法中的参数 'kzc,18' '{},{}'.format('kzc',18) #替换字段中没有数字就按照顺序带入format方法中的参

Python菜鸟晋级05----with....as....(上下文管理器)

介绍 上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它的语法形式是with...as... 应用 比较一下两段代码: 没有使用上下文管理器: writer = open("test.txt", "w") try: writer.write('Hello ') writer.write('World') finally:

Python菜鸟晋级03----repr() 与str() 函数的区别

两者均是将数值转换成字符串的形式,但是有细微的区别 str()会创建一个适合人阅读的字符串. repr()会创建适合解释器阅读的字符串. >>> hello = 'hello, world\n' >>> hellos = repr(hello) >>> hellos "'hello, world\\n'" #出现反斜杠进行转意 >>> hellos=str(hello) >>> hellos 'h

Python菜鸟晋级06----特殊属性整理

Python一切皆对象(object),每个对象都可能有多个属性(attribute). #现在我们来总结下所有的系统定义属性和方法, 先来看下保留属性: >>> Class1.__doc__ # 类型帮助信息 'Class1 Doc.' >>> Class1.__name__ # 类型名称 'Class1' >>> Class1.__module__ # 类型所在模块 '__main__' >>> Class1.__bases__

Python菜鸟晋级07----闭包

介绍 闭包(closure)是函数式编程的重要的语法结构.函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式).在面向过程编程中,我们见到过函数(function):在面向对象编程中,我们见过对象(object).函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability).闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性. 不同的语言实现闭包的方式不同.Python以函数对象为基础,为闭包这一语法结构提供支持的 (我们在特殊方法

Python菜鸟晋级02----Python3的bytes与str

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分. 文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰.你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).这是件好事. 不管怎样,字符串和字节包之间的界线是必然的,下面的图解非常重要,务请牢记于心: 字符串可以编码成字节包,而字节包可以解码成字

Python菜鸟晋级04----raw_input() 与 input()的区别

raw_input() 与 input()均是python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.举两个小例子 >>> raw_input_A = raw_input("raw_input: ") raw_input: abc >>> input_A = input("Input: ") Input: abc Traceback (most recent call last): File "

Python菜鸟晋级12----多线程

Python 多线程 多线程类似于同一时候执行多个不同程序,多线程执行有例如以下长处: 使用线程能够把占领长时间的程序中的任务放到后台去处理. 用户界面能够更加吸引人.这样比方用户点击了一个button去触发某些事件的处理,能够弹出一个进度条来显示处理的进度 程序的执行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比較实用了.在这样的情况下我们能够释放一些珍贵的资源如内存占用等等. 线程在运行过程中与进程还是有差别的. 每一个独立的线程有一个程序运行的入口.顺序

python中的MySQL数据库操作 连接 插入 查询 更新 操作

MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维基百科对数据库表的简要解释,要想详细了解,需要看官在找一些有关数据库的教程和书籍来看看. 在关系数据库中,数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系.它由纵向的列和横向的行组成,例如一个有关作者信息的名为 authors 的表中,每个列包含的是所有作者的某个特定类型的信息,比如