MySQLdb的使用

MySQLdb的使用。

1.create table:

 #-*- coding:utf-8 -*-
'''
    @data:2015-01-05
    @filename:CreateTable.py
'''
import MySQLdb as mdb
import sys


con = None
try:
    con = mdb.connect('localhost','root','123456','py')
    cur = con.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS \
        Writers(Id INT PRIMARY KEY AUTO_INCREMENT,Name VARCHAR(25))")
    cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Lion')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Emile')")
    cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")
    print "Database Table Writes Create success."
finally: 
    if con:
        con.close()

2.select table

#-*- coding:utf-8 -*-
'''
    @data:2015-01-05
    @filename:SelectTable.py
'''
import MySQLdb as mdb
import sys


con = None
try:
    con = mdb.connect('localhost','root','123456','py')
    cur = con.cursor()
    cur.execute("SELECT * FROM Writers")
    numrows = int(cur.rowcount)
    for i in range(numrows):
        row = cur.fetchone()
        print row[0],'|',row[1]
finally: 
    if con:
        con.close()

MySQLdb 是 Python 语言中用于连接 MySQL 数据库的一个接口库,它实现了 Python 数据库 API 2.0 规范,提供了访问 MySQL 数据库的功能。 ### 特点 - **兼容性**:遵循 Python DB-API 2.0 标准,这意味着熟悉该标准的开发者可以轻松上手使用 MySQLdb 来操作 MySQL 数据库。 - **性能**:基于 C 语言编写的 MySQL 客户端库,在性能方面表现较好,能够高效地执行数据库操作。 - **功能丰富**:支持事务处理、存储过程调用、批量插入等常见的数据库操作。 ### 安装 在 Python 环境中,可以使用 `pip` 来安装 MySQLdb,不过由于 MySQLdb 主要支持 Python 2,对于 Python 3 可以使用其替代库 `mysqlclient`,安装命令如下: ```bash pip install mysqlclient ``` ### 使用示例 以下是一个简单的使用 MySQLdb(以 `mysqlclient` 为例)连接 MySQL 数据库并执行查询操作的示例: ```python import MySQLdb # 连接数据库 conn = MySQLdb.connect( host='localhost', user='your_username', password='your_password', database='your_database' ) # 创建游标对象 cursor = conn.cursor() # 执行 SQL 查询 sql = "SELECT * FROM your_table" cursor.execute(sql) # 获取查询结果 results = cursor.fetchall() for row in results: print(row) # 关闭游标和连接 cursor.close() conn.close() ``` ### 技术细节 - **连接管理**:使用 `MySQLdb.connect()` 方法创建数据库连接对象,通过该对象可以进一步创建游标对象来执行 SQL 语句。 - **游标操作**:游标对象用于执行 SQL 语句,常见的方法有 `execute()` 用于执行单条 SQL 语句,`executemany()` 用于批量执行 SQL 语句,`fetchone()`、`fetchall()` 和 `fetchmany()` 用于获取查询结果。 - **事务处理**:默认情况下,MySQLdb 的连接对象是自动提交事务的,可以通过设置 `autocommit=False` 来手动管理事务,使用 `commit()` 方法提交事务,`rollback()` 方法回滚事务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值