mysql连接模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql连接模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2642字,纯文字阅读大概需要4分钟。
内容图文
mysql连接模块什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
PyMySQL 安装
pip install PyMySQL
数据库连接
连接数据库前,请先确认以下事项:
已经创建了数据库 TESTDB
mysql> desc stu;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(100) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | | NULL | |
| age | int(100) | NO | | NULL | |
+-------+--------------+------+-----+---------+----------------+
#打开数据库连接
conn = pymysql.connect(host="192.168.1.48", port=3306, user="root", passwd="123456", db="TESTDB")
#使用cursor()方法获取操作游标
cus = conn.cursor()
sql = "select * from stu;"
#使用execute方法执行SQL语句
cus.execute(sql)
#使用 fetchone() 方法获取一条数据
result = cus.fetchall()
print(result)
#关闭游标连接
cus.close()
#关闭数据库连接
conn.close()
执行以上脚本输出结果如下:
((1, ‘a‘, 12), (2, ‘b‘, 13))
mysql事物
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行
事务用来管理 insert,update,delete 语句
禁止自动提交:
mysql> show variables like "%autocommit%";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SET AUTOCOMMIT=0;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "%autocommit%";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | OFF |
+---------------+-------+
1 row in set (0.00 sec)
当执行一堆insert语句后,需要commit才能显示数据,否则就没有insert成功
import pymysql
conn = pymysql.connect(host="192.168.1.48", port=3306, user="root", passwd="123456", db="TESTDB")
cus = conn.cursor()
sql_insert = "insert into stu(name,age) values(‘d‘,15);"
cus.execute(sql_insert)
cus.execute(‘commit‘)
sql_select="select * from stu;"
cus.execute(sql_select)
#获取第3条数据
#reject=cus.fetchmany(3)
#获取第一条数据
#reject=cus.fetchone()
#查看所有数据
reject=cus.fetchall()
print(reject)
#conn.close()
实例:通过写一个类,这样好处就是数据库只调用一次
import pymysql
#定义一个类,构造函数写成字典形式
class TestMysql(object):
def init(self):
self.dbConfig = {
"host": "192.168.1.48",
"port": 3306,
"user": "root",
"passwd": "123456",
"db": "TESTDB"
}
#多值传入,*karges字典 args:元组
conn = pymysql.connect(**self.dbConfig)
self.cus = conn.cursor()
def select(self):
sql_select=‘select * from stu;‘
self.cus.execute(sql_select)
reject=self.cus.fetchall()
self.cus.close()
print(reject)
def update(self):
sql_update="update stu set name=‘e‘ where id=24;"
self.cus.execute(sql_update)
self.cus.execute(‘commit;‘)
if name == ‘main‘:
conn = TestMysql()
conn.update()
conn.select()
原文:http://blog.51cto.com/jacksoner/2113454
内容总结
以上是互联网集市为您收集整理的mysql连接模块全部内容,希望文章能够帮你解决mysql连接模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。