mysql服务器(4000字)

本文的重点,就是教会大家,如何用Python来操作MySQL数据库。1. 通用步骤其实,这里有一个通用步骤,都是写死了的,大家照做就行。# 1. 导入相关库import pymysql# 2. 链接MySQL服务器db = pymysql.connect(host=’localhost’ , user=’root’ , password=’******’ , port=3306 ,db=’spiders’ , charset=’utf8′)# 3. 创建一个cursor游标对象cursor = db.cursor# 4. 在这一步写你的sql语句sql = ‘select version’# 5. 执行sql语句cursor.execute(sql)# 6. 断开连接db.close可以看出,整个过程就是第四步那里不同。归根到底,其实就是写sql。2. 需要特别说明的知识点Ⅰ 各参数说明db = pymysql.connect(host=’localhost’ , user=’root’ , password=’******’ , port=3306 ,db=’spiders’ , charset=’utf8′)这一行代码很长,里面涉及到好几个参数,这里为大家一一介绍如下:参数 1 :mysql 服务器所在的主机 IP参数 2 :用户名;参数 3 :密码;参数 4 :连接的 mysql 主机的端口,默认是 3306;参数 5 :连接的数据库名;参数 6 :通信采用的编码方式,默认是’gb2312’,要求与数据库创建时指定的编码一致,否则中文会乱码;Ⅱ cursor游标对象3. Python增删改查操作① 创建一个数据表import pymysqldb = pymysql.connect(host=’192.168.3.47′ , user=’root’,password=’******’ , port=3306 , db=’spiders’ , charset=’utf8′)cursor = db.cursor# 检查表是否存在,如果存在删除cursor.execute(‘drop table if exists students’)# 创建表sql = ‘create table students(id int auto_increment primary key not ,name varchar(10) not ,age int not )’cursor.execute(sql)db.close注:以后用代码创建表的机会并不多,表一般都是我们提前创建好的。② 插入数据import pymysqldb = pymysql.connect(host=’192.168.3.47′ , user=’root’,password=’******’ , port=3306 , db=’spiders’ , charset=’utf8′)cursor = db.cursor# 插入数据sql = ‘insert into students(name,age) values(%s,%s)’try:cursor.execute(sql,(‘孙悟空’,100000))db.commitexcept:print(“插入失败”)db.rollbackdb.close注 1:插入数据一定要用 try…except…语句,因为万一没插入成功,其余代码都无法执行。注 2:import pymysql,此模块是默认开启mysql的事务功能的,因此,进行“增”、“删”、“改”的时候,一定要使用db.commit提交事务,否则就看不见所插入的数据。③ 更新数据import pymysqldb = pymysql.connect(host=’192.168.3.47′ , user=’root’,password=’******’ , port=3306 , db=’spiders’ , charset=’utf8′)cursor = db.cursor# 更新数据sql = ‘update students set age =%s where name=%s’try:cursor.execute(sql,(30,”郭卫华”))db.commitexcept:print(“插入失败”)db.rollbackdb.close③ 删除操作import pymysqldb = pymysql.connect(host=’192.168.3.47′ , user=’root’,password=’******’ , port=3306 , db=’spiders’ , charset=’utf8′)cursor = db.cursor# 删除数据sql = ‘delete from students where age=100000’try:cursor.execute(sql)db.commitexcept:print(“插入失败”)db.rollbackdb.close④ 查询操作fetchone功能:获取下一个查询结果集,结果集是一个对象。fetchall功能:接收全部返回的行。import pymysqldb = pymysql.connect(host=’192.168.3.47′ , user=’root’,password=’******’ , port=3306 , db=’spiders’ , charset=’utf8′)cursor = db.cursor# 查询数据sql = ‘select * from students where age>60’try:cursor.execute(sql)reslist = cursor.fetchallfor row in reslist:print(“%d–%d” %(row[0],row[1],… row[n]))except:print(“插入失败”)db.rollbackdb.close4. 封装一个类# 注:把下面类写在 studentsql 文件中import pymysqlclass StudentsSql:def __init__(self,host,user,port,dbname,charset):self.host = hostself.user = userself.port = portself.dbname = dbnameself.charset = charsetdef connet(sef):self.db = pymysql.connect(self.host, self.user, self.port,self.dbname, self.charset)def close(self):self.cursor.closeself.db.closedef get_one(self,sql):res = Nonetry:self.connectself.cursor.execute(sql)res = self.cursor.fetchoneself.closeexcept:print(“查询失败”)return resdef get_all(self,sql):res = Nonetry:self.connectself.cursor.execute(sql)res = self.cursor.fetchallself.closeexcept:print(“查询失败”)return resdef inset(self,sql):return self.__edit(sql)def update(self,sql):return self.__edit(sql)def delete(self,sql):return self.__edit(sql)def __edit(self,sql):count = 0try:self.connectcount = self.cursor.execute(sql)self.db.commitself.closeexcept:print(“事务提交失败”)self.db.rollbackreturn count上述类封装成功,以后只需要调用即可。from studentsql import StudentsSqls = StudentsSql(“host=’192.168.3.47′ , user=’root’, password=’******’ , port=3306 , db=’spiders’ , charset=’utf8’”)res = s.get_all(‘select * from students where age>60′)for row in res:print(“%d–%d” %(row[0],row[1],… row[n]))万水千山总是情,点个

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://kuaisubeian.cc/33596.html

kuaisubeian