Python之操作MySQL数据库

Posted 学而时习之,不亦说乎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()比较方便

 

以上是关于Python之操作MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

Python之PyMySQL的使用

python3 自动化之mysql操作python3下的mysql入门基础

Python操作数据库之 MySQL

《Python学习之路 -- Python基础之切片》

22Python之mysql数据库操作

python之操作mysql数据库