Python3下数据库操作全解析 (python3下数据库)

数据库是存储和管理数据的关键组件之一。在数据科学领域,掌握数据库操作技能是非常重要的。Python语言为数据科学家提供了多种数据库操作库,如SQLite、MySQL和PostgreSQL等。在本文中,我们将全面解析Python3下的数据库操作。

1. 连接数据库

通常,我们需要先连接数据库,才能对其中的数据进行操作。在Python3中,我们可以使用多个数据库操作库对多种数据库进行连接操作。其中,较为常用的库为sqlite3、pymysql和psycopg2等。下面,我们分别介绍各个库的使用方法。

– sqlite3

在Python3中,我们可以使用sqlite3库连接SQLite数据库。可以按照以下方式安装该库:

“`

pip install db-sqlite3

“`

连接SQLite数据库的代码如下所示:

“`python

import sqlite3

conn = sqlite3.connect(‘database.db’)

“`

我们使用import语句引入sqlite3库。然后,我们使用sqlite3.connect()函数连接SQLite数据库。其中,database.db为数据库名称。如果该数据库不存在,则会自动创建该数据库。

– pymysql

使用pymysql库连接MySQL数据库既简单又快捷。可以按照以下方式安装该库:

“`

pip install pymysql

“`

连接MySQL数据库的代码如下所示:

“`python

import pymysql

conn = pymysql.connect(

host=’localhost’,

port=3306,

user=’root’,

password=’password’,

db=’database’

)

“`

在上述代码中,我们使用pymysql.connect()函数连接MySQL数据库。其中,host、port、user和password分别表示MySQL的连接地址、端口、用户名和密码。database表示MySQL数据库的名称。

– psycopg2

使用psycopg2库连接PostgreSQL数据库也十分简单。可以按照以下方式安装该库:

“`

pip install psycopg2

“`

连接PostgreSQL数据库的代码如下所示:

“`python

import psycopg2

conn = psycopg2.connect(

host=”localhost”,

port=5432,

database=”database”,

user=”postgres”,

password=”password”

)

“`

在上述代码中,我们使用psycopg2.connect()函数连接PostgreSQL数据库。其中,host、port、user和password分别表示PostgreSQL的连接地址、端口、用户名和密码。database表示PostgreSQL数据库的名称。

2. 执行SQL语句

在连接数据库之后,我们可以执行SQL语句对数据库中的数据进行增、删、改等的操作。下面,我们将分别介绍如何使用不同的库执行SQL语句。

– sqlite3

使用sqlite3库对SQLite数据库执行SQL语句较为简单。例如,我们可以使用以下代码创建一个名为students的表:

“`python

import sqlite3

conn = sqlite3.connect(“database.db”)

c = conn.cursor()

c.execute(”’CREATE TABLE students

(student_id INT NOT NULL,

name TEXT NOT NULL,

age INT NOT NULL,

PRIMARY KEY (student_id))”’)

conn.commit()

conn.close()

“`

在上述代码中,我们首先使用connect()函数连接到SQLite数据库。然后,我们使用cursor()函数创建一个游标。接着,使用execute()函数执行SQL语句创建students表。最后使用commit()函数提交更改并关闭连接。

– pymysql

使用pymysql库对MySQL数据库执行SQL语句也很简单。例如,我们可以使用以下代码创建一个名为students的表:

“`python

import pymysql

conn = pymysql.connect(

host=’localhost’,

port=3306,

user=’root’,

password=’password’,

db=’database’

)

with conn.cursor() as cursor:

sql = “CREATE TABLE students (student_id INT NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (student_id))”

cursor.execute(sql)

conn.commit()

conn.close()

“`

在上述代码中,我们首先使用connect()函数连接到MySQL数据库。然后,我们使用with关键字创建一个游标。使用execute()函数执行SQL语句创建students表。最后使用commit()函数提交更改并关闭连接。

– psycopg2

使用psycopg2库对PostgreSQL数据库执行SQL语句也较为容易。例如,我们可以使用以下代码创建一个名为students的表:

“`python

import psycopg2

conn = psycopg2.connect(

host=”localhost”,

port=5432,

database=”database”,

user=”postgres”,

password=”password”

)

with conn.cursor() as cursor:

sql = “CREATE TABLE students (student_id INT NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (student_id))”

cursor.execute(sql)

conn.commit()

conn.close()

“`

在上述代码中,我们首先使用connect()函数连接到PostgreSQL数据库。然后,我们使用with关键字创建一个游标。使用execute()函数执行SQL语句创建students表。最后使用commit()函数提交更改并关闭连接。

3. 查询数据

使用SQL语句查询数据库数据也较为简单。下面,我们将给出在不同操作库下的数据查询方法。

– sqlite3

使用sqlite3库查询SQLite数据库的示例代码如下所示:

“`python

import sqlite3

conn = sqlite3.connect(“database.db”)

c = conn.cursor()

#查询表中所有数据

sql = “SELECT * FROM students”

c.execute(sql)

print(c.fetchall())

#查询表中学生姓名为Lucy的数据

sql = “SELECT * FROM students WHERE name = ‘Lucy'”

c.execute(sql)

print(c.fetchone())

#查询表中学生年龄在20岁以下的数据

sql = “SELECT * FROM students WHERE age

c.execute(sql)

print(c.fetchall())

conn.close()

“`

– pymysql

使用pymysql库查询MySQL数据库的示例代码如下所示:

“`python

import pymysql

conn = pymysql.connect(

host=’localhost’,

port=3306,

user=’root’,

password=’password’,

db=’database’

)

with conn.cursor() as cursor:

#查询表中所有数据

sql = “SELECT * FROM students”

cursor.execute(sql)

print(cursor.fetchall())

#查询表中学生姓名为Lucy的数据

sql = “SELECT * FROM students WHERE name = ‘Lucy'”

cursor.execute(sql)

print(cursor.fetchone())

#查询表中学生年龄在20岁以下的数据

sql = “SELECT * FROM students WHERE age

cursor.execute(sql)

print(cursor.fetchall())

conn.close()

“`

– psycopg2

使用psycopg2库查询PostgreSQL数据库的示例代码如下所示:

“`python

import psycopg2

conn = psycopg2.connect(

host=”localhost”,

port=5432,

database=”database”,

user=”postgres”,

password=”password”

)

with conn.cursor() as cursor:

#查询表中所有数据

sql = “SELECT * FROM students”

cursor.execute(sql)

print(cursor.fetchall())

#查询表中学生姓名为Lucy的数据

sql = “SELECT * FROM students WHERE name = ‘Lucy'”

cursor.execute(sql)

print(cursor.fetchone())

#查询表中学生年龄在20岁以下的数据

sql = “SELECT * FROM students WHERE age

cursor.execute(sql)

print(cursor.fetchall())

conn.close()

“`

4. 结语

本文对Python3下的数据库操作进行了全面讲解,包括数据库连接、执行SQL语句以及查询数据等内容。这些操作都是数据科学家必备的基本技能,能够帮助数据科学家更好地处理和管理数据。


数据运维技术 » Python3下数据库操作全解析 (python3下数据库)