Python3操作MySql数据库

来源:互联网 发布:java单例 编辑:程序博客网 时间:2024/06/05 11:16

当MySql遇上Python该怎么玩呢?今晚的时间又双花在了Python上,真的是爱不释手的语言呀(笑抽)
这数据库操作比java简单多了(步骤)…强烈吐槽呀

说明

  1. 需要安装mysql 自行下载吧
  2. python版本3.6
  3. winver版本 win10

MySQL-python安装问题

当初安装mysql时遇到了不少坑,直接使用pip 方式安装各种报错,fuck!我忘记做错误笔记了。。。
不幸中的万幸…我做了一个超级简陋的笔记…安装教程…

笔记

安装失败需要下载一些文件。我做的笔记只有这一部分,嗯,应该这一部分就能指导我解决问题了。

https://pypi.python.org/pypi/mysqlclient/1.3.7
到这里下载,目前这是最新版本的,也可以 https://pypi.python.org/pypi 在这里自行搜索 mysql
下载对应的版本 cmd命令下 pip install 文件名
如果64位安装不了则安装32位…

开始上手

import MySQLdb#连接数据库conn= MySQLdb.connect(        host='localhost',        port = 3306,        user='root',         passwd='a',        db ='test', #如果还没有创建test数据库则这个db参数可以不用   执行以下语句就可以创建数据库test了 cur.execute("create database test")        charset='utf8',  #设置编码集   如果没有在插入中文数据时会报错UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-2: ordinal not in range(256)之类的错误        )cur = conn.cursor() #要想使用数据库则还需要创建游标

增删改查

#创建数据库# cur.execute("create database test")#创建数据表# cur.execute("create table teacher(id int primary key auto_increment,name varchar(20),class varchar(20),age int(3))")#插入一条数据# cur.execute("insert into teacher(name,class,age) values('Tom','3 year 1 class',26)")# cur.execute("insert into teacher(name,class,age) values('中文可以了吧!','5 year 4 class',48)") #插入中文数据 在前面如果不设置这句charset='utf8' 会报编码问题#修改查询条件的数据#cur.execute("update teacher set class='3 year 2 class' where name = 'Tom'")#删除查询条件的数据#cur.execute("delete from teacher where age='26'")#查询数据c = cur.execute("select * from teacher")print( c ) #输出的只是数据条数  那么怎么才能输出数据呢?print( '输出一条数据',cur.fetchone() )print( '输出一条数据',cur.fetchone() )# print( '输出所有数据',cur.fetchall())#迭代输出所有数据for i in cur.fetchmany(c): #获取表中所有数据    print( i )cur.close()conn.commit()conn.close()
原创粉丝点击