连接mysql

Posted sheery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接mysql相关的知识,希望对你有一定的参考价值。

安装:file---setting--project---project interpreter--选择版本,点击右侧+号,搜索pymysql---install

步骤:

1、连上mysql ,指定ip 端口号,账号,密码,数据库,相当于打开仓库大门

2、建立游标,游标相当于仓库的管理员,帮忙找东西

3、执行sql , 使用execute

4、获取结果

import pymysql

conn=pymysql.connect(host=‘211.149.218.16‘,user=‘jxz‘,passwd=‘123456‘,

                                       port=3306,db=‘jxz‘,charset=‘utf8‘) charset指定字符集类型,必须写utf8

                                                                                             port不存在可以不写,但是写的话必须是int类型

yb=conn.cursor() 仓库管理员

yb.execute(‘select * from bt_stu limit 5;‘)   执行sql语句  sql语句用“  ;  ”号结尾,不然会报错

res=yb.fetchall()                  获取返回结果

print(res)

yb.close() 关闭游标

conn.close() 关闭链接

运行结果(二维元组(元组也可以用角标取值)):

((502, ‘秋香‘, 1, ‘18612341231‘, ‘靠山屯‘, 1), (503, ‘王兰‘, 1, ‘18723561789‘, ‘天蝎座3‘, 1), (506, ‘修仙‘, 1, ‘18688866686‘, ‘截路财‘, 1), (508, ‘贾梦缘‘, 1, ‘18612333231‘, ‘靠山屯‘, 1), (511, ‘爱仕达‘, 1, ‘18332341231‘, ‘靠山屯‘, 1))

======================================================================================

1)游标.fetchon() 运行结果 取一条数据,数据放置到一个一维元组 适用场景:确定返回结果只有一条数据

2)fetchone 和 fetchiall同时使用:

fetchone在前,fetchall在后,fetchall读取的是 fetchone读取之后的数据;

fetchall在前,fetchone在后,fetchall读取所有数据,fetchone 读取的数据是空的,返回none

3)移动文件指针

游标.scroll(0,mode=‘absolute‘) 移动指针到最前面,adsolute绝对的位置,即最前面

游标.scroll(0,mode=‘relative‘) 移动指针到最前面,relative相对的位置,相对于当前的位置 ,若把0修改为如-1 ,则取值为倒数第二的值

==================================================================================

insert  update delect  语句执行时,需要在执行sql语句后执行提交的操作:数据库连接名.commit()

import pymysql

conn=pymysql.connect(host=‘211.149.218.16‘,user=‘jxz‘,passwd=‘123456‘,

                                       port=3306,db=‘jxz‘,charset=‘utf8‘) charset指定字符集类型,必须写utf8

                                                                                             port不存在可以不写,但是写的话必须是int类型

yb=conn.cursor() 

sql= "INSERT INTO `bt_stu` ( `real_name`, `sex`, `phone`, `class`, `type`) VALUES ( ‘亚静‘, ‘1‘, ‘17411348971‘, ‘sss‘, ‘1‘);"

yb.execute(sql)   

conn.commit()       提交操作

print(yb.fetchone)    运行结果:none 

==========================================================================================

conn=pymysql.connect(host=‘211.149.218.16‘,
user=‘jxz‘,passwd=‘123456‘,
port=3306,db=‘jxz‘,charset=‘utf8‘)#必须写utf8
cur = conn.cursor(cursor=pymysql.cursors.DictCursor) 将元组转换成字典或者list(根据fetchOne 或者fetchall 决定)
sql=‘select * from bt_stu limit 5‘
cur.execute(sql)
print(cur.fetchone())
print(cur.fetchall())
运行结果:

字典:

{‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 502, ‘real_name‘: ‘秋香‘, ‘phone‘: ‘18612341231‘}  
list:

[{‘sex‘: 1, ‘class‘: ‘天蝎座3‘, ‘type‘: 1, ‘id‘: 503, ‘real_name‘: ‘王兰‘, ‘phone‘: ‘18723561789‘}, {‘sex‘: 1, ‘class‘: ‘截路财‘, ‘type‘: 1, ‘id‘: 506, ‘real_name‘: ‘修仙‘, ‘phone‘: ‘18688866686‘}, {‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 508, ‘real_name‘: ‘贾梦缘‘, ‘phone‘: ‘18612333231‘}, {‘sex‘: 1, ‘class‘: ‘靠山屯‘, ‘type‘: 1, ‘id‘: 511, ‘real_name‘: ‘爱仕达‘, ‘phone‘: ‘18332341231‘}]

 

 











以上是关于连接mysql的主要内容,如果未能解决你的问题,请参考以下文章

这些角度电子邮件指令代码片段如何连接

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段