Python链接Mysql数据库

Python链接Mysql数据库


环境:python3,mysql

  1. 安装PyMysql
    代开cmd 输入下面代码,下载安装MySQLdb库
pip install PyMysql
  1. 编程连接
import pymysql.cursors

conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root',db='user',
charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
# user:数据库账号 passwd:数据库密码 db:所需要的链接的库

# 2.创建游标
cursor = conn.cursor()
# SQL 插入语句
sqlInsert = "INSERT INTO users VALUES ('Mac1',20, '女')"
try:
   # 执行sql语句
   cursor.execute(sqlInsert)
   # 提交到数据库执行,增,删,改需要进行事务提交,需要commit(),查询不需要
   conn.commit()
except:
   # Rollback in case there is any error
   conn.rollback()

# 注意%s需要加引号
sql = "select * from users"

try:
    # 3.执行sql语句
   cursor.execute(sql)
   # 获取所有记录列表
   results = cursor.fetchall()
   #  results输出的结果
   #[{'username': 'Mac', 'age': 20, 'sex': '女'}{'username': '张三', 'age': 10, 'sex': '男'}]
   for row in results:
       for key, value in row.items():
        print (key, value)
except:
   print ("Error: unable to fecth data")
# 关闭连接,游标和连接都要关闭
cursor.close()
conn.close()
  1. 运行结果

username Mac
age 20
sex 女
username 张三
age 10
sex 男

  1. Connection()的参数列表

1.host,连接的数据库服务器主机名,默认为本地主机(localhost)。
2.user,连接数据库的用户名,默认为当前用户。
3.passwd,连接密码,没有默认值。
4.db,连接的数据库名,没有默认值。
5.conv,将文字映射到Python类型的字典。
6.MySQLdb.converters.conversions
7.cursorclass,cursor()使用的种类,默认值为MySQLdb.cursors.Cursor。
8.compress,启用协议压缩功能。
9.named_pipe,在windows中,与一个命名管道相连接。
10.init_command,一旦连接建立,就为数据库服务器指定一条语句来运行。
11.read_default_file,使用指定的MySQL配置文件。
12.read_default_group,读取的默认组。
13.unix_socket,在unix中,连接使用的套接字,默认使用TCP。
14.port,指定数据库服务器的连接端口,默认是3306。
15.连接对象的db.close()方法可关闭数据库连接,并释放相关资源。
16.连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。
17.连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。
18.连接对象的db.commit()和db.rollback()方法分别表示事务提交和回退。
19.指针对象的cursor.close()方法关闭指针并释放相关资源。
20.指针对象的cursor.execute(query[,parameters])方法执行数据库查询。
21.指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。
22.指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。
23.指针对象的cursor.fetchone()从查询结果集中返回下一行。
24.指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。
25.指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值