对于应用而言,没有数据库的支持意味着该应用只能服务小部分人,只能存储小部分数据,而且数据不好进行管理,所以大多数编程语言能连接数据库以获得数据支持。那么 python 怎么连接数据库呢?让小编来告诉你。
使用 mysql-connector 连接数据库
首先需要安装相应的第三方库,使用指令 pip install mysql-connnector
进行 mysql-connector 库的安装。
连接并创建数据库(代码附带注释):
import mysql.connector
#使用mysql-connector连接数据库
mydb = mysql.connector.connect(
host="localhost", # 数据库主机地址
user="root", # 数据库用户名
passwd="root" # 数据库密码
)
print(mydb)
mycursor = mydb.cursor()#获取操作游标
mycursor.execute("CREATE DATABASE IF NOT EXISTS w3cschool DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci;")
#执行SQL语句,execute函数内放入需要执行的SQL语句
mycursor.close()#关闭操作游标
mydb.close()#关闭数据库连接
数据库的增删改查(代码附带注释):
import mysql.connector
from mysql.connector import cursor
#使用mysql -connector连接到指定的数据库
w3cdb = mysql.connector.connect(
host="localhost", # 数据库主机地址
user="root", # 数据库用户名
passwd="root", # 数据库密码
database = "w3cschool",#连接的数据库
charset = "utf8"#连接数据库的字符集
)
cursor = w3cdb.cursor()#获取操作游标
#sql创建表语句
createSQL = """
CREATE TABLE `newtable` (
`id` int NOT NULL AUTO_INCREMENT ,
`username` char(25) NOT NULL ,
`password` char(16) NOT NULL ,
PRIMARY KEY (`id`)
)
;
"""
#SQL插入数据语句
insertSQL = """
insert into newtable values (4,'username','123');
"""
#sql更新表语句
updateSQL = """
update newtable set username = 'steve' where id=1;
"""
#sql表删除语句
deleteSQL = """
delete from newtable where id=1;
"""
#sql表查询语句
selectSQL ="select * from newtable;"
cursor.execute(selectSQL)#执行查询语句
res = cursor.fetchall()#取出所有数据
print (res)
#以下涉及到数据库更改操作的,在执行结束后需要commit()提交更改
cursor.execute(deleteSQL)#执行删除语句
w3cdb.commit()
cursor.execute(insertSQL)#执行插入语句
w3cdb.commit()
cursor.execute(updateSQL)#执行更新语句
w3cdb.commit()
cursor.close()
w3cdb.close()
使用pymysql连接数据库
在我们平台的python编程手册中介绍的python数据库连接就是使用pymysql进行数据库连接的。
小结
python 提供了多种数据库的连接方式,除了以上两种还有其他连接方式,由于篇幅原因就不更多深入了。实际上,在软件开发过程中,直接编写 SQL 语句进行查询会导致代码重复,所以在项目中,更多的会采用 ORM(对象关系映射)框架进行数据库的操作。想了解 ORM 框架?关注W3C技术头条了解更多。