python连接mysql及基本操作

python操作mysql需要导入pymysql模块,请先安装pymysql模块:

pip install pymysql

测试与数据库的连接:

import pymysql

# 打开数据库连接
conn = pymysql.connect( "localhost", "root", "a", "students" )
print( conn )
print( type(conn) )
# 关闭数据库连接
conn.close()

conn = pymysql.connect( “localhost”, “root”, “a”, “students” ) 中的四个参数分别为:mysql地址,用户名,密码,数据库名。
以上输出结果为:

<pymysql.connections.Connection object at 0x0000026FA0565438>
<class ‘pymysql.connections.Connection’>

创建表:

'''
创建一张雇员表
'''
import pymysql
conn = pymysql.connect( "localhost", "root", "a", "students" )
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = conn.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute( "drop table if exists emploree" )
sql = """create table emploree(
         first_name char(20) not null,
         last_name char(20),
         age int,
         sex char(1),
         income float )"""
# 使用 execute()  方法执行 SQL 语句 
cursor.execute( sql )

conn.close()

增加一条数据

'''
数据库插入记录
'''
import pymysql
conn = pymysql.connect( "localhost", "root", "a", "students" )
cursor = conn.cursor()
sql = """insert into emploree(first_name,
         last_name, age, sex, income)
         value ( 'Mac2', 'Mohan', 20, 'M', 2000 )"""
try:
    cursor.execute( sql )
    # 提交到数据库执行
    conn.commit()
    print( '受影响的行数:', cursor.rowcount )
except:
	# 如果发生错误则回滚
    conn.rollback()
    
conn.close()

rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数(update)。
以上输出结果为:

受影响的行数: 1

查询数据

'''
查询数据       
'''
import pymysql
conn = pymysql.connect( "localhost", "root", "a", "students" )
cursor = conn.cursor()
sql = "select * from emploree“
try:
    cursor.execute( sql )
    results = cursor.fetchall()
    # 此时我的数据库里只有两条数据
    # 得到的results为: (('Mac2', 'Mohan', 20, 'M', 2000.0), ('Abc', 'Xyz', 25, 'W', 3000.0))
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        print( "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % ( fname, lname, age, sex, income ) )
except:
    print( '无法得到数据。' )
    
conn.close()

python查询mysql使用 fetchone() 方法获取单条数据,使用 fetchall() 方法获取多条数据
fetchone(): 该方法获取下一个查询结果集,结果集是一个对象
fetchall(): 接收全部的返回结果行

以上输出结果为:

fname=Mac2,lname=Mohan,age=20,sex=M,income=2000
fname=Abc,lname=Xyz,age=25,sex=W,income=3000

修改和删除就不多加讲解了,跟上面的代码差不了多少,呵呵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值