Python pymysql 数据库使用

使用pymysql,直接上代码- -#

import pymysql

#链接数据库
conn = pymysql.connect('127.0.0.1',user='root',password='root',db = 'test1')

#打开数据库连接,不指定数据库
# conn=pymysql.connect('127.0.0.1','root','root')
# conn.select_db('test1')

#获取游标
cursor = conn.cursor()
#创建新的数据库
# cursor.execute("CREATE DATABASE IF NOT EXISTS pythonDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;")


#创建表
# cursor.execute("drop table if exists user") #如果表存在,则删除表
# sql="""CREATE TABLE IF NOT EXISTS `user`(`ID` int(11) NOT NULL AUTO_INCREMENT,`NAME` varchar(255) NOT NULL,`AGE` int(11) NOT NULL,PRIMARY KEY(`ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"""
# cursor.execute(sql)


#   executemany的使用方法
# executemany(templet,args)
# 能同时执行多条语句,执行同样多的语句可比execute()快很多,强烈建议执行多条语句时使用executemany
# templet : sql模板字符串,
# 例如     'insert into table(id,name) values(%s,%s)'
# args: 模板字符串的参数,是一个列表,列表中的每一个元素必须是元组!
# 例如:  [(1,'小明'),(2,'zeke'),(3,'琦琦'),(4,'韩梅梅')]

#插入数据
# sql1 = "insert into user values(1,'gundam1',0)"
# cursor.execute(sql1)
# #插入数据的另外一种
# sql2 = 'insert into user values(%s,%s,%s)'
# cursor.execute(sql2,(2,'gundam2',1))#添加数据为元祖形式
# #批量插入
# sql3 = 'insert into user values(%s,%s,%s)'
# cursor.executemany(sql3,[(3,'gundam3',2),(4,'gundam4',3)])
# #循环插入
# sql4 = 'insert into user values(%s,%s,%s)'
# listdata = []
# for i in range(5,10):
#     data = (i,'gundam%d'%i,i-1)
#     listdata.append(data)
# # print(listdata)
# cursor.executemany(sql4,listdata)

# cursor.fetchone():获取游标所在处的一行数据,返回元组,没有返回None
# cursor.fetchmany(size):接受size行返回结果行。如果size大于返回的结果行的数量,则会返回cursor.arraysize条数据。
# cursor. fetchall():接收全部的返回结果行。

# cursor.execute("select * from user;")

#fetchone():
# while 1:
#     res = cursor.fetchone() 
#     if res is None:#表示已经搜索完毕
#         break
#     print(res)

#fetchmany():
# resTuple = cursor.fetchmany(3)
# for res in resTuple:
#     print(res)

#fetchall():
# resTuple = cursor.fetchall()
# for res in resTuple:
#     print(res)
# print('一共%d条数据库数据'%len(resTuple))

#更新数据
# updata_line = 0 #记录返回的行数
# updata_line = cursor.execute("update user set AGE=100 where NAME='gundam3'")
# print('更新的行数为:%d'%updata_line)
# #查询下更新的数据
# cursor.execute("select * from user where NAME='gundam3'")
# print(cursor.fetchone())

#更新多条数据
# sql = "update user set AGE=%s where NAME=%s"
# cursor.executemany(sql,[(100,'gundam5'),(100,'gundam6')])

# cursor.execute("select * from user")
# resTuple = cursor.fetchall()
# for res in resTuple:
#     print(res)

#删除数据
# cursor.execute("delete from user where ID=1")
# cursor.execute("select * from user")
# resTuple = cursor.fetchall()
# for res in resTuple:
#     print(res)

#删除多条数据
# sql = "delete from user where ID=%s"
# cursor.executemany(sql,[(2),(3)])
# cursor.execute("select * from user")
# resTuple = cursor.fetchall()
# for res in resTuple:
#     print(res)

#事务回滚
# sql = "delete from user where ID=%s"
# cursor.executemany(sql,[(4),(5)])
# conn.rollback() #事务回滚
# cursor.execute("select * from user")
# resTuple = cursor.fetchall()
# for res in resTuple:
#     print(res)


conn.commit()#成功插入数据
cursor.close()#先关闭游标
conn.close()#再关闭数据库连接

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值