import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige") #localhost也可以用
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
sql = "select version()"
# 执行sql语句
cursor.execute(sql)
# 获取返回的信息
data = cursor.fetchone()
print(data)
# 断开数据库连接
cursor.close()
db.close()
Run运行
注意:如果参数1 填 mysql服务所在主句的IP 运行时报错 修改user表 的User用户列 root的Host项改为 %
之后以管理员身份 重启mysql服务
import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige")
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
# 检查表是否存在,如果存在则删除
cursor.execute("drop table if exists bandcard")
# 建表
sql = 'create table bandcard(id int auto_increment primary key, money int not null)'
# 执行sql语句
cursor.execute(sql)
# 断开数据库连接
cursor.close()
db.close()
import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige")
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
# 给表插入数据
sql = 'insert into bandcard value(0, 100)'
# 插入数据有可能不成功
try:
# 执行sql语句
cursor.execute(sql) #实际写到缓存里
# 把事务所做的修改保存到数据库(commit提交事务)
db.commit() # db.提交()
except:
# 如果提交失败,回滚到上次数据 #rollback()就是与commit()相反,不提交事务,可以理解成撤回的意思
db.rollback() # db.回滚()
# 断开数据库连接
cursor.close()
db.close()
import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige")
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
# 修改bancard表 money=1000 条件是 id=1
sql = 'update bandcard set money=1000 where id=1'
# 插入数据有可能不成功
try:
# 执行sql语句
cursor.execute(sql) #实际写到缓存里
# 把事务所做的修改保存到数据库(commit提交事务)
db.commit() # db.提交()
except:
# 如果提交失败,回滚到上次数据 #rollback()就是与commit()相反,不提交事务,可以理解成撤回的意思
db.rollback() # db.回滚()
# 断开数据库连接
cursor.close()
db.close()
1、首先来插入几条数据
sql = 'insert into bandcard value(0, 200), (0, 200), (0, 200), (0, 500)'
import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige")
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
# 删除bancard表中 money=200 数据
sql = 'delete from bandcard where money=200'
# 插入数据有可能不成功
try:
# 执行sql语句
cursor.execute(sql) #实际写到缓存里
# 把事务所做的修改保存到数据库(commit提交事务)
db.commit() # db.提交()
except:
# 如果提交失败,回滚到上次数据 #rollback()就是与commit()相反,不提交事务,可以理解成撤回的意思
db.rollback() # db.回滚()
# 断开数据库连接
cursor.close()
db.close()
1、首先来插入几条数据
sql = 'insert into bandcard value(0, 200), (0, 500), (0, 400), (0, 600)'
'''
fetchone()
功能:获取下一个查询结果集,结果集是一个对象
返回单个元组,如果查询不到结果,则返回None
fetchall()
功能:接受全部的返回的行
rowcount: 是一个只读属性,返回execute()方法影响的行数
返回二维元组,如果查询不到结果,则返回()
'''
import pymysql
# 链接数据库
# 参数1:mysql服务所在主句的IP
# 参数2:用户名
# 参数3:密码
# 参数4:要链接的数据库名
# db = pymysql.connect("localhost", "root", "mysql密码", "kaige")
db = pymysql.connect("IP地址", "root", "mysql密码", "kaige")
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
cursor = db.cursor()
# 查询 money钱 > 400的
sql = 'select * from bandcard where money>400'
# 插入数据有可能不成功
try:
# 执行sql语句
cursor.execute(sql) #实际写到缓存里
#想获得所有数据(拿到所有行数)
reslist = cursor.fetchall()
print("id\t——\tmoney")
#一行行的处理
for row in reslist:
print("%d\t——\t%d" % (row[0], row[1]))
except:
# 如果提交失败,回滚到上次数据 #rollback()就是与commit()相反,不提交事务,可以理解成撤回的意思
db.rollback() # db.回滚()
# 断开数据库连接
cursor.close()
db.close()
import pymysql
class FzSql():
def __init__(self, host, user, passwd, dbName):
self.host = host
self.user = user
self.passwd = passwd
self.dbName = dbName
# 链接数据库
def connet(self):
# 链接
self.db = pymysql.connect(self.host, self.user, self.passwd, self.dbName)
# 创建一个cursor对象(这个对象可以帮助我们执行sql语句)
self.cursor = self.db.cursor()
# 释放数据库(断开数据库)
def close(self):
self.cursor.close()
self.db.close()
# 数据库操作
# 查询数据库第一条数据
def get_one(self, sql):
# res = 没有
res = None
try:
# 链接数据库
self.connet()
# 执行sql语句
self.cursor.execute(sql)
# 想获得第一条数据(拿到第一行数)
res = self.cursor.fetchone()
# 断开数据库
self.close()
except:
print("查询失败")
return res
# 查询数据库所有数据
def get_all(self, sql):
# res = 没有
res = None
try:
# 链接数据库
self.connet()
# 执行sql语句
self.cursor.execute(sql)
# 想获得所有数据(拿到所有行数)
res = self.cursor.fetchall()
# 断开数据库
self.close()
except:
print("查询失败")
return res
# 数据库插入数据
def insert(self, sql):
return self.__edit(sql)
# 数据库删除数据
def delete(self, sql):
return self.__edit(sql)
# 数据库更新数据
def update(self, sql):
return self.__edit(sql)
# 编辑操作
def __edit(self, sql):
# 执行sql语句
count = self.cursor.execute(sql)
# 把事务所做的修改保存到数据库(commit提交事务)
self.db.commit()
try:
self.connet() # 链接数据库
self.close() # 释放数据库(断开数据库)
except:
print("事务提交失败")
# 如果提交失败,回滚到上次数据 #rollback()就是与commit()相反,不提交事务,可以理解成撤回的意思
self.db.rollback() # db.回滚()
from fzSql import FzSql
# 链接数据库
s = FzSql("192.168.2.171", "root", "8977@xn", "kaige")
# 数据库查询
res = s.get_all("select * from bandcard where money>400")
print("id\t——\tmoney")
# 一行行的处理
for row in res:
print("%d\t——\t%d" % (row[0], row[1]))