1、下载并安装PyMySQL-master.zip
https://github.com/PyMySQL/PyMySQL
2、解压进入PyMySQL-master文件夹,shift+右键进入dos命令窗口
3、输入python setup.py install
4、重启IDEA
5、写Python代码测试数据库
import pymysql print("================测试是否连通====================") try: conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8') cur = conn.cursor() cur.execute('select version()') version = cur.fetchone() print(version) cur.close() conn.close() except Exception: print("发生异常")
Python增删改查
import pymysql print("================python数据库查询====================") try: conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8') cur = conn.cursor() cur.execute('select * from t_p1_blog') # 获取多条数据 blogs = cur.fetchall() print(type(blogs)) for blog in blogs: print(blog) cur.close() conn.close() except Exception: print("发生异常")
import pymysql print("================python数据库修改====================") try: conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8') cur = conn.cursor() typename = "第三方接口" btid = 9 # sql = "update t_p1_blogtype set typename=%s where btid=%d"%(typename,btid) sql = """update t_p1_blogtype set typename='第三方接口2' where btid=9""" try: # 执行sql语句 cur.execute(sql) # 提交到数据库执行 conn.commit() except: # Rollback in case there is any error conn.rollback() cur.close() conn.close() except Exception: print("发生异常")
import pymysql print("================python数据库删除====================") try: conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8') cur = conn.cursor() typename = "第三方接口" btid = 9 # sql = "update t_p1_blogtype set typename=%s where btid=%d"%(typename,btid) sql = """delete from t_p1_blogtype where btid=9""" try: # 执行sql语句 cur.execute(sql) # 提交到数据库执行 conn.commit() except: # Rollback in case there is any error conn.rollback() cur.close() conn.close() except Exception: print("发生异常")
import pymysql print("================python数据库新增====================") try: conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='javaxl', port=3306, charset='utf8') cur = conn.cursor() sql = """INSERT INTO t_p1_blogtype(typename,sort) VALUES ('分布式', 8)""" typename = "第三方接口" sort = 9 # sql = 'insert into t_p1_blogtype(typename,sort) values(%s,%s)' % \ # (typename, sort) # sql = "insert into t_p1_blogtype(typename,sort) values (%s,%d)"%(typename,sort) try: # 执行sql语句 cur.execute(sql) # 提交到数据库执行 conn.commit() except: # Rollback in case there is any error conn.rollback() cur.close() conn.close() except Exception: print("发生异常")
Python mysql操作通用工具类
import pymysql as mysql class dbaccess(): def __init__(self , host="127.0.0.1", username="root", password="123456", port=3306, database="javaxl"): '''类例化,处理一些连接操作''' self.host = host self.username = username self.password = password self.database = database self.port = port self.cur = None self.con = None # connect to mysql try: self.con = mysql.connect(host = self.host, user = self.username, password = self.password, port = self.port, database = self.database) self.cur = self.con.cursor() except : raise Exception("DataBase connect error,please check the db config.") def close(self): '''结束查询和关闭连接''' self.con.close() def create_table(self,sql_str): '''创建数据表''' try: self.cur.execute(sql_str) except Exception as e: print(e) def query(self,sql_str): '''查询数据并返回 cursor 为连接光标 sql_str为查询语句 ''' try: self.cur.execute(sql_str) rows = self.cur.fetchall() return rows except: return False def execute_update_insert(self,sql): ''' 插入或更新记录 成功返回最后的id ''' self.cur.execute(sql) self.con.commit() return self.cur.lastrowid if __name__ == "__main__": mydb = dbaccess() #创建表 mydb.create_table('create table user (id varchar(20) primary key, name varchar(20))') #插入数据 mydb.execute_update_insert("insert into user (id, name) values ('1', '小李飞刀')") results = mydb.query("SELECT * FROM t_p1_blog") print(results) for row in results: bid = row[0] title = row[1] summary = row[2] print("bid=%s,title=%s,summary=%s" % \ (bid, title, summary)) #关闭数据库 mydb.close()
工具类测试截图
over......
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有