ipad+python+mysql_Python操作MySQL总结

模块的安装和配置

本人用的是ubuntu系统下虚拟环境的python3,故要先进到虚拟环境再下载pymysql。先用workon查看虚拟环境叫什么?再进入用pip下载。

88721c70e522dcaa6e060b550ba30222.png

进入后输入命令行:pip3 install pymysql,如果提示需要升级pip版本,按照其指定命令输入即可。如果你用的是ubuntu下的python,就不需要进入虚拟环境就可以直接pip安装。

安装完成后,在cd到下图的指定文件下,使用sudo打开文件输入密码,最后修改指定部分。

90da564385874c912692084909405276.png

1ae894714092431b875d96d9594728f5.png

将bind-address的127.0.0.1改为0.0.0.0,IP地址127.0.0.1是只有本地才能连接,0.0.0.0是所有的ip都能访问。

python操作MySQL

首先导包

import pymysql

再建立和数据库的连接,配置pymysql.connect连接数据库。mysql的端口号是3306.

con = pymysql.connect(

host = '127.0.0.1',

port = 3306,

user = 'wanglong',

password = '12580',

db = 'mydb', #数据库名

charset = 'utf8')

再定义游标,之后利用python操作数据库的语句都是基于这个游标。

cur = con.cursor()

利用execute执行MySQL语句

a = cur.execute('show tables')

print (a)

上面的结果是6,返回的表格的数目。进入数据库执行相应语句效果如下:

50175b71643c1367894d36c4bfdf10a8.png

如果想输出上图的具体数据,就要用fetchone或fetchall来提取数据。

cur.execute('show tables')

d = cur.fetchone()

f = cur.fetchall()

print (d)

print (*f)#拆包

('choose',)

('col',) ('course',) ('stu',) ('stu_for',) ('test',)

可以发现,再取出所有数据时,其第一条数据并没有取出,原因是在取出所有数据前实行了取出一条数据的命令。

我还可以建一张新表,如下所示:

tb = '''

create table test(

id int primary key auto_increment,

name varchar(20)

)

'''

cur.execute(tb)

需要注意的是,当我们利用execute语句执行mysql的插入、删除、更新时,它会自定开启一个事务,故如果不提交这个事务而运行,底层数据不会有任何改变。提交事务有两种方法,一种是原始的mysql语句,一种是pymysql模块内的方法。

cur.exectue('commit')

con.commit()

最后要注意的是,在所有操作完成之后要先关闭游标,再关闭连接。

cur.close()

con.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值