python3.5 连接 mysql

什么是 pyMySQL ?

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。

适用环境(官方指定)

python版本:
    CPython >= 2.6 or >= 3.3
    PyPy >= 4.0
    IronPython 2.7
mysql版本:
    MySQL >= 4.1 (tested with only 5.5~)
    MariaDB >= 5.1

使用PIP进行安装

    pip install PyMySQL

实例说明

1.安装

D:\>python --version
    Python 3.5.0
D:\>pip -V
    pip 9.0.1 from c:\program files\python 3.5\lib\site-packages (python 3.5)
D:\>pip install --upgrade PyMySQL
D:\>pip list --format columns
    Package    Version
    ---------- -------
    pip        9.0.1
    PyMySQL    0.7.9

2.连接数据库

*##创建数据库连接*
mysql> select version();
    +------------+
    | version()  |
    +------------+
    | 5.6.32-log |
    +------------+
mysql> create database python;
mysql> grant all privileges on python.* to python@'%' identified by 'python123';
mysql> flush privileges;
D:\>mysql -upython -ppython123 -h192.168.2.2 -e "select 1"
    +---+
    | 1 |
    +---+
    | 1 |
    +---+

*##连接并创建测试表*
>>> import pymysql
>>> conn_mysql = pymysql.connect(host='192.168.2.2',    --数据库服务器IP地址
...                              port=3306,             --数据库服务器端口号
...                              user='python',         --数据库用户名
...                              passwd='python123',    --数据库用户密码
...                              db='python',           --数据库名称
...                              charset='utf8')        --数据库连接语言编码
>>> cursor = conn_mysql.cursor()                        --创建游标
>>> cursor.execute(                                     --执行一个数据库命令
        "create table py_tab(id tinyint auto_increment primary key,name varchar(10))"
        )
>>> my_cur.close();                                     --关闭游标,释放资源

这里,简单说明一下
connection对象支持的方法

    cursor()        使用该连接创建并返回游标
    commit()        提交当前事务
    rollback()      回滚当前事务
    close()         关闭连接

cursor对象支持的方法

    execute("your sql_text")     执行一个数据库的查询命令
    fetchone()      取得结果集的下一行
    fetchmany(size) 获取结果集的下几行
    fetchall()      获取结果集中的所有行
    rowcount()      返回数据条数或影响行数
    close()         关闭游标对象

进阶测试

1.查询

import pymysql
my_conn =   pymysql.connect(
            host    =   '192.168.2.2',
            port    =   3306,
            user    =   'python',
            passwd  =   'python123',
            db      =   'python',
            charset =   'utf8');
my_cur  =   my_conn.cursor();

my_cur.execute("select * from python.py_tab;")
print()
for row in my_cur:
    print(row)

my_cur.close()
my_conn.close()

2.插入

import pymysql
my_conn =   pymysql.connect(
        host    =   '192.168.2.2',
        port    =   3306,
        user    =   'python',
        passwd  =   'python123',
        db      =   'python',
        charset =   'utf8');
my_cur  =   my_conn.cursor();

sql     =   "insert into py_tab(name) values ('%s')"
names   =   input("请输入要插入的人名:")
my_cur.execute(sql % names)
my_conn.commit()
print(names,'已成功插入')

my_cur.close()
my_conn.close()

3.删除

import pymysql
my_conn =   pymysql.connect(
        host    =   '192.168.2.2',
        port    =   3306,
        user    =   'python',
        passwd  =   'python123',
        db      =   'python',
        charset =   'utf8');
my_cur  =   my_conn.cursor();

sql     =   "delete from python.py_tab where name = '%s' limit %d"
datas   =   ('Sara',2)
my_cur.execute(sql % datas)
my_conn.commit()
print('成功删除姓名为',datas[0],'的', my_cur.rowcount, '条数据')

my_cur.close()
my_conn.close()

4.修改

import pymysql
my_conn =   pymysql.connect(
        host    =   '192.168.2.2',
        port    =   3306,
        user    =   'python',
        passwd  =   'python123',
        db      =   'python',
        charset =   'utf8');
my_cur  =   my_conn.cursor();

sql     =   "update python.py_tab set name = '%s' where name = '%s'"
datas   =   ('Lily','Chuck')
my_cur.execute(sql % datas)
my_conn.commit()
print('成功匹配并修改了', my_cur.rowcount, '条数据')

my_cur.close()
my_conn.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值