1、首相导入模块pymysql
import pymysql
2、创建连接
conn = pymysql.connect(
host='远程数据库IP地址',
port=远程数据库端口,
user='数据库账号',
password='密码',
db='数据库名称',
charset='utf8'
)
conn = pymysql.connect(
host='10.10.10.10',
port=3306,
user='user',
password='123456',
db='db',
charset='utf8'
)
3、拿游标
cursor = conn.cursor(pymysql.cursors.DictCursor)
注:pymysql.cursors.DictCursor字典的格式把数据库对应的字段名称显示。如果不添加至会显示查询结果
4、执行SQL
sql = 'sql语句'
rows = cursor.execute(sql)
注:执行sql语句的时候会传值bug问题,
例如bug传问题:"select * dbname from where name='%s' and pwd='%s'" % ('user', 'pwd')
这样传值会有问题。解决这个问题如下:
直接把传递的值添加到里面:
cursor.execute(sql,('user','pwd'))
这里的sql代表的就是bug语句 "select * dbname from where name='%s' and pwd='%s'"
('user','pwd') 代表的是 % ('user', 'pwd')
这是利用了execute(sql,())元组的形式
1、数据查询
1)fetchone()代表每次取一行数据
cursor.fetchone()
2)fetchmany()指定取几行数据
cursor.fetchmany()
3)fetchall()取全部数据
cursor.fetchall()
4)相对绝对位置移动,从第一行开始查询
cursor.scroll(0, mode='absolute')
5)相对当前位置移动。从现在行数间隔几行开始查询数据
cursor.scroll(2, mode='relative')
2、插入,删除,改数据
需要执行conn.commit()语句
5、关闭游标
cursor.close()
6、关闭连接
conn.close()