Python:pymysql数据库常规操作示例总结

在完成python作业通讯录的GUI图形界面结合数据库的设计之后,总结了一下数据库的使用
感觉对于数据库不太熟悉的新手来说挺有用的,适合不熟的人拿来看看,稍作修改就可以使用了

# 导包
import pymysql

# 连接数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='********',
    port=3306,
    charset='utf8'
)

# 获得游标
cursor = conn.cursor()

# 创建数据库dbtest
sql_creat = "create database if not exists dbtest"
cursor.execute(sql_creat)

# 创建数据表-dbtest
sql_use = 'use dbtest'
cursor.execute(sql_use)
# 创建相关属性--名字,号码,邮箱,地址 ,字符串varchar
sql_table = 'create table if not exists perinfo(pername varchar(20) primary key,' \
                                               'pernumber int not null,'\
                                               'peremail varchar(20) not null,'\
                                               'peraddress varchar(45) not null )'
cursor.execute(sql_table)

# 插入一条记录 ,字符串和数字的区别:values(%d , '%s')
sql = "insert into perinfo(pername,pernumber,permail,peraddress) values ('%s',%d,'%s','%s')"
data = ('aa', 2, 'aa', 'aa')
cursor.execute(sql % data)
conn.commit()

# 更新数据表,把表中 pername 值为 'name_old' 的记录所有值更新
sql = "update perinfo set pername='%s', pernumber='%s', permail= '%s', peraddress= '%s' \
                                 where pername = '%s'"
data = ('name', 'phone', 'mail', 'address', 'name_old')
cursor.execute(sql % data)
conn.commit()

# 查询表中 pername 值为 'a' 的记录的 pername , pernumber
sql = "select pername, pernumber from perinfo where pername='a'"
cursor.execute(sql)
for row in cursor.fetchall():
    print("相关的名字:%d,相关的号码:%d" % row)
print('%d' % cursor.rowcount) # 一共有几行

# 查询表中所有数据
# sql = "select * from perinfo"
sql = "select perName, perNumber, perEmail, perAddress from perinfo"
cursor.execute(sql)
all_number = "通讯录共有 %d 人" % cursor.rowcount
print('%d' % cursor.rowcount) # 一共有几行

# 删除表中 emname值为 'a' 的 1 条记录
sql = "delete from emcontact where emname = %d limit %d"
data = ('a', 1)
cursor.execute(sql%data)
conn.commit()
print('%d条数据被删除'% cursor.rowcount)

# 关闭游标和连接
cursor.close()  # 游标
conn.close()    # 连接

你可能感兴趣的:(作业,数据库,python,sql,pymysql)