十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“Python数据库MySQL的用法讲解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据库MYSQL的用法讲解”吧!
为衡阳等地区用户提供了全套网页设计制作服务,及衡阳网站建设行业解决方案。主营业务为网站建设、做网站、衡阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
import mysql.connector config = { 'host': 'localhost', 'port': '3306', 'user': 'root', 'password': '', 'database': 'python' } con = mysql.connector.connect(**config) cursor = con.cursor() #游标,用于执行sql语句
create_table_sql = "CREATE TABLE `browser` (">
3、创建索引
_index1 = "ALTER TABLE `browser` ADD UNIQUE INDEX name(name)" #唯一索引 _index2 = "CREATE INDEX url ON `browser`(url)" #普通索引 for sql in [_index1, _index2]: cursor.execute(sql)
创建表结构和添加字段索引个人建议客户端手动操作,一行一行代码操作效率实在太低。这边公众号回复"mysql"获取相关资源。
4、数据增删查改
#插入单条数据 insert_sql = "INSERT INTO `browser`(name, url) VALUES (%s, %s)" values = ('Chrome', "http://www.google.cn/chrome/") cursor.execute(insert_sql, values) #插入多条数据 values = [ ('Chrome', "http://www.google.cn/chrome/"), ('Firefox', "http://www.firefox.com/"), ('Safari2', "https://www.apple.com.cn/safari/") ] cursor.executemany(insert_sql, values) #查询数据 select_sql = "SELECT * FROM `browser`" cursor.execute(select_sql) print(cursor.fetchone()) #获取单条数据 print(cursor.fetchall()) #获取全部数据 #更新数据 update_sql = "UPDATE `browser` SET `url`='http://www.firefox.com.cn' WHERE `name`='Firefox';" cursor.execute(update_sql) #删除数据 delete_sql = "DELETE FROM `browser` WHERE `name` = %s" cursor.execute(delete_sql, ['Safari'])
5、关于抵御注入攻击
由于Sql语句是解释性语言,所以在拼接Sql语句的时候,容易被注入恶意的Sql语句。
sql语句编译过程中,关键字被解析过,所以向编译后的sql语句传入参数,都被当字符串处理,数据库不会解析其中注入的sql语句。
6、事务控制与异常处理
try: con.start_transaction() cursor = con.cursor() delete_sql = "DELETE FROM `browser` WHERE `name` = %s" cursor.execute(delete_sql, ['Firefox']) except Exception as e: con.rollback() #回滚 else: con.commit() #提交
7、实现数据库连接池
如果每次进行操作前都去做连接请求,是非常消耗资源的,尤为考虑到并发问题的时候。
数据库连接池预先创建出一些数据库连接,然后缓存起来,避免出现重复创建和销毁连接付出昂贵的代价,很好的解决这个问题。
import mysql.connector.pooling config = {...} pool = mysql.connector.pooling.MySQLConnectionPool( **config, pool_size=10 ) con_pool = pool.get_connection()
到此,相信大家对“Python数据库MYSQL的用法讲解”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!