当MySql遇上Python该怎么玩呢?今晚的时间又双花在了Python上,真的是爱不释手的语言呀(笑抽)
这数据库操作比java简单多了(步骤)…强烈吐槽呀
说明
- 需要安装mysql 自行下载吧
- python版本3.6
- 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()