Python中的数据库操作:深入探究mysql、sqlite等数据库的连接、查询等技术 随着信息时代的到来,数据的重要性日益凸显。因此,无论是企业还是个人,对于数据的管理和使用都变得越来越重要。而数据库就是数据管理的核心,因为它可以存储、管理和检索各种类型的数据。Python作为一种高效的编程语言,自然也支持各种数据库的操作。本文将深入探究Python中对mysql、sqlite等数据库的连接、查询等技术。 一、常见的数据库 在学习Python中的数据库操作之前,首先需要了解常见的数据库。SQL(Structured Query Language)是关系型数据库管理系统(RDBMS)中最常用的语言。在实际中,MySQL、PostgreSQL和Oracle等都是比较常见的关系型数据库。除此之外,还有一些轻量级的数据库,如SQLite、Redis,也被广泛应用于移动应用程序和Web开发中。 二、Python中对mysql的连接及查询 Python中连接mysql数据库,需要使用mysql.connector库。可以通过以下命令来安装该库: ```python pip install mysql-connector ``` 连接mysql数据库的代码如下: ```python import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) print(mydb) ``` 在这个例子中,我们使用了`mysql.connector`库连接本地的mysql数据库,设置用户名、密码和数据库名称。如果连接成功,会输出类似于下面的信息: ```text``` 接下来,我们可以执行查询语句来获取数据库中的数据。例如,我们可以通过以下代码获取`customers`表中的所有数据: ```python import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() mycursor.execute("SELECT * FROM customers") myresult = mycursor.fetchall() for x in myresult: print(x) ``` 在这个例子中,我们首先创建一个游标对象`mycursor`,然后使用`execute()`方法执行SQL查询语句。`fetchall()`方法获取查询结果,并将其存储在`myresult`中。最后,我们使用循环遍历`myresult`中的结果。 三、Python中对SQLite的连接及查询 SQLite是一个轻量级的关系型数据库管理系统。它可以嵌入到Web浏览器中或运行在移动平台上。Python中,使用sqlite3模块连接SQLite数据库。可以通过以下命令来安装该模块: ```python pip install pysqlite3 ``` 连接SQLite数据库的代码如下: ```python import sqlite3 conn = sqlite3.connect('example.db') print("Opened database successfully") ``` 在这个例子中,我们使用`sqlite3`模块连接一个名为`example.db`的数据库。如果连接成功,会输出信息`Opened database successfully`。 使用SQLite数据库,我们可以执行各种SQL查询语句,例如: ```python import sqlite3 conn = sqlite3.connect('example.db') print("Opened database successfully") conn.execute('''CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);''') print("Table created successfully") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (1, 'Paul', 32, 'California', 20000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (2, 'Allen', 25, 'Texas', 15000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \ VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00 )") conn.commit() print("Records created successfully") conn.close() ``` 在这个例子中,我们创建了一个名为`COMPANY`的表,并向其插入了4条记录。使用SQLite数据库,我们也可以执行各种查询语句,例如: ```python import sqlite3 conn = sqlite3.connect('example.db') print("Opened database successfully") cursor = conn.execute("SELECT id, name, address, salary from COMPANY") for row in cursor: print("ID = ", row[0]) print("NAME = ", row[1]) print("ADDRESS = ", row[2]) print("SALARY = ", row[3], "\n") print("Operation done successfully") conn.close() ``` 在这个例子中,我们查询了`COMPANY`表中的`id`、`name`、`address`和`salary`字段,并使用`for`循环遍历结果集。结果集中的每一行都是一个元组,通过访问元素的方式获得每个字段的值。 总结 Python中对mysql、sqlite等数据库的连接、查询等技术,是数据科学和数据工程中必不可少的技能。通过本文的介绍,你可以了解到Python是如何连接和查询不同类型的数据库的。当然,这仅仅是一个入门级别的教程,如果你想深入学习数据科学和数据工程,还需要更加深入地学习各种数据库操作的技巧和技术。