Python之操作MySQL数据库

一、操作步骤

1、导入pymysql模块

2、建立连接(ip、用户名、密码、数据库名、端口号、字符集)

3、建立游标

4、执行sql语句

5、关闭游标

6、关闭连接

import pymysql

host='xxx.xxx.xxx.xxx'
user='abc'
password='123456' #密码只能是字符串
db='database_name'
port=3306 #端口号只能写int类型
charset='utf8' #只能写utf8,不能写utf-8

#建立连接
conn=pymysql.connect(host=host,password=password,user=user,db=db,
port=port,charset=charset)

#建立游标
cur=conn.cursor()

res=cur.execute('show tables;')  #只是帮你执行sql语句,不会返回执行结果
#print(res)  #结果为执行语句的指针序列号
print(cur.fetchall())  #获取数据库里面的所有表,返回的是一个二维数组,一个大数组,里面是每个表

#关闭游标
cur.close()

#关闭连接
conn.close()

二、执行sql语句

  • cur.execute('sql语句')
cur.execute('select * from app_myuser limit 5;') #获取一张表中的所有信息
print(cur.fetchall())

 

三、返回sql语句执行结果

  • print(cur.fetchall())
  • print(cur.fetchone())
print(cur.fetchall())
print(cur.fetchone()) #返回结果为空,因为上面已经执行到最后了,游标到尾了,类似于文件指针

#先注释掉.fetchall()再运行即可
print(cur.fetchone()) #每次取一行数据

.fetchall()和.fetchone()的区别:

  • 在不知道一共多少条的情况下,只能使用.fetchall()
  • .fetchall()返回的是二维数组,取字段时不方便
  • .fetchone()返回的是一维数组,当结果只有一条时,使用.fetchone()比较方便

猜你喜欢

转载自www.cnblogs.com/yanwuliu/p/9721643.html