python3 使用mysql-connector 连接mysql 数据库

mysql-connector是一个Python模块,它在Python中重新实现MySQL协议,它比较慢,但不需要C库,因此更便携.

mysql-connectorMySQL 官方提供的驱动器。

1.安装

python -m pip install mysql-connector

2.使用

数据库连接

需要导入驱动模块,mysql.connector,并使用connector模块中的connect方法连接数据库,

查看源码 def connect(*args, **kwargs),该方法中允许传入元祖模式参数,和字典类型参数,

即就是:

#字典
localdb=mysql.connector.connect(
    host='127.0.0.1',
    user='root11',
    passwd='root22')

#元祖
localdb=mysql.connector.connect('127.0.0.1','root11','root22')

 例一:

import mysql.connector

localdb=mysql.connector.connect(
    host='127.0.0.1',
    user='root11',
    passwd='root22')
print(localdb)
mycursor=localdb.cursor()
mycursor.execute("CREATE DATABASE python3sql")
mycursor.execute("show databases")
for x in mycursor:
    print(x)

 数据库操作

正如例一,创建一个cursor实例来执行数据库操作。

插入:在执行插入语句时候,数据库表有更新,需要像数据库提交事务,如例二,

mydb.commit()    # 数据表内容有更新,必须使用到该语句

此处插入可以进行多数据插入,使用 mycursor.executemany(sql,val2) 方法。

删除:同插入

更新:同插入

查询:在执行查询语句时候,需要返回查询结果,

全部返回  fetchall(self),

部分返回  fetchmany(self,size=1),

单数据返回  fetchone(self)

例二:

import mysql.connector

mydb=mysql.connector.connect(
    host='localhost',
    user='root',
    passwd='root',
    database='python3sql'
)
sql='insert into sites (name,url) values (%s,%s)'
val=('python2mysql','http;//www.baidu.com')
print(mydb)
mycursor=mydb.cursor()
mycursor.execute(sql,val)
mydb.commit()    # 数据表内容有更新,必须使用到该语句
print(mycursor.rowcount, "记录插入成功。")
mycursor.execute('show tables')
for x in mycursor:
    print(x)

print("~~~~~~~~~~~~~~~~~~批量插入~~~~~~~~~~~~~~~~~")

val2=[('百度','www.baidu.com'),
      ('腾讯','http://tengxun.cn'),
      ('新浪','http://sina.com')]
mycursor.executemany(sql,val2)
mydb.commit()
print(mycursor.rowcount,"批量插入成功")

 

 

你可能感兴趣的:(python)