Python是一种高级编程语言,具有易读易写、简洁、可扩展等特点,因此被广泛应用于数据分析、科学计算、机器学习、Web开发等领域。其中,Python在Web开发中应用特别广泛,因为Python提供了丰富的Web框架,例如Django、Flask等,简化了Web应用的开发过程。而这些Web应用的底层数据通常由数据库提供,因此,Python与数据库的交互显得尤为重要。
Python可以使用多种方式与数据库进行交互,其中比较流行的有SQLite、MySQL、PostgreSQL、Oracle等。不同的数据库通常使用不同的Python驱动程序(也称为库或包),例如sqlite3、mysql-connector、psycopg2、cx_Oracle等。这些驱动程序提供了Python访问数据库的API,使得开发者可以通过Python操作数据库。
Python与数据库交互的流程一般如下:
1. 导入相应的库,并连接数据库:使用Python编写程序时,需要导入相应的库或包,例如sqlite3、mysql-connector等,然后根据数据库的地址、用户名、密码等信息,连接到数据库。
2. 执行SQL查询或更新操作:通过Python编写的程序,可以执行SQL查询或更新操作。例如查询某张表的数据,或者向某张表中插入一行数据等。
3. 关闭数据库连接:操作完成后,需要及时关闭数据库连接,以释放资源。
下面简单介绍一下Python中SQLite、MySQL、PostgreSQL和Oracle四种数据库的基本使用方法。
1. SQLite
SQLite是一款轻型的嵌入式数据库,它保存在一个单一的文件中,不需要独立的服务器进程或操作系统支持。Python自带了sqlite3库,可以方便地执行一些SQL语句,例如创建表、插入数据、查询数据等。下面是一个简单的例子:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('test.db')
# 创建表
sql = '''
create table user (
id integer primary key autoincrement,
username varchar(64),
password varchar(64)
)
'''
conn.execute(sql)
# 插入数据
sql = "insert into user (username, password) values ('tom', '123456')"
conn.execute(sql)
# 查询数据
sql = "select * from user"
cursor = conn.execute(sql)
for row in cursor:
print(row)
# 关闭连接
conn.close()
```
在这个例子中,首先通过`sqlite3.connect`函数连接到名为`test.db`的SQLite数据库。然后,使用`conn.execute`函数执行SQL语句。具体而言,通过`create table`语句创建了一个名为`user`的表,包含3个字段:`id`、`username`和`password`。其次,通过`insert into`语句向`user`表中插入一行数据,该行数据的`username`为`tom`,`password`为`123456`。最后,通过`select`语句查询了`user`表中所有的数据,并通过游标(即`conn.execute`函数的返回值)遍历输出。最后,使用`conn.close`函数关闭了数据库连接。
2. MySQL
MySQL是一款功能丰富、速度快、安全性高的关系型数据库系统。Python可以通过mysql-connector库与MySQL进行交互。首先需要安装mysql-connector库,可以使用pip命令进行安装。
```python
pip install mysql-connector
```
安装完成后,就可以在Python中使用mysql-connector访问MySQL数据库了。下面的例子展示了如何连接到MySQL数据库,创建表、插入数据、查询数据等操作。
```python
import mysql.connector
# 连接数据库
conn = mysql.connector.connect(host='localhost', user='root', password='password', database='test')
# 创建表
sql = '''
create table user (
id int primary key auto_increment,
username varchar(64),
password varchar(64)
)
'''
cursor = conn.cursor()
cursor.execute(sql)
# 插入数据
sql = "insert into user (username, password) values (%s, %s)"
val = ("tom", "123456")
cursor.execute(sql, val)
conn.commit()
# 查询数据
sql = "select * from user"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row)
# 关闭连接
conn.close()
```
在这个例子中,首先通过`mysql.connector.connect`函数连接到本地MySQL数据库,用户名为root,密码为password,数据库名为test。然后,使用`cursor.execute`方法执行SQL语句。具体而言,通过`create table`语句创建了一个名为`user`的表,包含3个字段:`id`、`username`和`password`。其次,通过`insert into`语句向`user`表中插入一行数据,使用了占位符%s,并将具体的值传到`execute`方法中。由于这是一个写操作,因此需要在执行完SQL语句后,使用`conn.commit`方法提交更改。最后,通过`select`语句查询`user`表中所有的数据,并通过`cursor.fetchall`方法获取所有结果,通过遍历输出。最后,使用`conn.close`函数关闭了数据库连接。
3. PostgreSQL
PostgreSQL是一款功能强大、可扩展性好且免费的开源关系型数据库系统。Python可以通过psycopg2库与PostgreSQL进行交互。首先需要安装psycopg2库,可以使用pip命令进行安装。
```python
pip install psycopg2
```
安装完成后,就可以在Python中使用psycopg2访问PostgreSQL数据库了。下面的例子展示了如何连接到PostgreSQL数据库,创建表、插入数据、查询数据等操作。
```python
import psycopg2
# 连接数据库
conn = psycopg2.connect(host='localhost', user='postgres', password='password', database='test')
# 创建表
sql = '''
create table user (
id serial primary key,
username varchar(64),
password varchar(64)
)
'''
cur = conn.cursor()
cur.execute(sql)
# 插入数据
sql = "insert into user (username, password) values (%s, %s)"
val = ("tom", "123456")
cur.execute(sql, val)
conn.commit()
# 查询数据
sql = "select * from user"
cur.execute(sql)
result = cur.fetchall()
for row in result:
print(row)
# 关闭连接
conn.close()
```
在这个例子中,首先通过`psycopg2.connect`函数连接到本地PostgreSQL数据库,用户名为postgres,密码为password,数据库名为test。然后,使用`cur.execute`方法执行SQL语句。具体而言,通过`create table`语句创建了一个名为`user`的表,包含3个字段:`id`、`username`和`password`。其次,通过`insert into`语句向`user`表中插入一行数据,使用了占位符%s,并将具体的值传到`execute`方法中。由于这是一个写操作,因此同样需要在执行完SQL语句后,使用`conn.commit`方法提交更改。最后,通过`select`语句查询`user`表中所有的数据,并通过`cur.fetchall`方法获取所有结果,通过遍历输出。最后,使用`conn.close`函数关闭了数据库连接。
4. Oracle
Oracle是一款功能强大、可扩展性好且广泛应用于企业级应用程序的关系型数据库系统。Python可以通过cx_Oracle库与Oracle进行交互。首先需要安装cx_Oracle库,可以使用pip命令进行安装。
```python
pip install cx_Oracle
```
安装完成后,就可以在Python中使用cx_Oracle访问Oracle数据库了。下面的例子展示了如何连接到Oracle数据库,创建表、插入数据、查询数据等操作。
```python
import cx_Oracle
# 连接数据库
dsn_tns = cx_Oracle.makedsn('localhost', '1521', service_name='xe')
conn = cx_Oracle.connect(user='system', password='password', dsn=dsn_tns)
# 创建表
sql = '''
create table user (
id number(10) primary key,
username varchar2(64),
password varchar2(64)
)
'''
cur = conn.cursor()
cur.execute(sql)
# 插入数据
sql = "insert into user (id, username, password) values (:id, :username, :password)"
val = {"id": 1, "username": "tom", "password": "123456"}
cur.execute(sql, val)
conn.commit()
# 查询数据
sql = "select * from user"
cur.execute(sql)
result = cur.fetchall()
for row in result:
print(row)
# 关闭连接
conn.close()
```
在这个例子中,首先通过`cx_Oracle.makedsn`函数创建了一个DSN(Data Source Name),包括了Oracle数据库的地址、端口和服务名等信息。然后,使用`cx_Oracle.connect`函数连接到Oracle数据库,用户名为system,密码为password。之后的步骤和其他数据库的操作基本一致。
在Python中添加注释,可以使用#符号或者''' '''来进行注释。下面的例子展示了如何使用注释。
```python
# 这是一个简单的Python程序,用于输出Hello World!
print("Hello World!") # 输出Hello World!
```
在这个例子中,使用了#符号注释掉了第一行,也使用了#符号在第二行后面添加了一个注释。另外,Python还支持使用多行注释,即使用三个单引号或者三个双引号将一段代码包裹起来,以达到注释的效果。
```python
'''
这是一个多行注释的示例
用于说明程序的基本功能
'''
print("Hello World!") # 输出Hello World!
```
在这个例子中,使用了三个单引号将第一行和第二行包裹起来,以达到注释的效果。最后,Python解释器会忽略这些注释,不会执行它们。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复