在Python中调用数据库实例

Python作为一种高级编程语言,具有各种各样的库和工具,使得我们可以更加方便地处理各种数据。其中,与数据库相关的库也是很重要的一种,可以帮助我们更加高效地操作数据库并获取所需的数据。

Python中调用数据库实例,一般需要用到的库包括:`sqlite3`、`mysql-connector-python`、`psycopg2`等。不同的库适用于不同的数据库类型。下面就以sqlite3和mysql-connector-python为例,介绍一下如何在Python中调用数据库实例。

### 使用sqlite3库

**1. 连接数据库**

首先,我们需要用`sqlite3.connect()`方法建立与数据库的连接。

```python

import sqlite3

# 建立与数据库的连接

conn = sqlite3.connect('test.db')

```

当你在程序的当前目录下运行以上代码时,它将创建一个名为test.db的数据库(如果不存在的话),并建立与该数据库的连接。

**2. 创建数据表**

接着,我们可以使用`execute()`方法执行SQL语句来创建数据表。如下面的代码所示:

```python

import sqlite3

# 建立与数据库的连接

conn = sqlite3.connect('test.db')

# 创建数据表

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.close()

```

以上代码中使用了`execute()`方法来执行SQL语句来创建名为`COMPANY`的数据表。可以看到我们Python中建立表格与SQL语言中基本是一致的。

**3. 插入数据**

要向表格中插入数据,可以使用`execute()`方法执行SQL语句。如下面的代码所示:

```python

import sqlite3

# 建立与数据库的连接

conn = sqlite3.connect('test.db')

# 插入数据

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. 查询数据**

要查询数据,可以使用`execute()`方法执行SQL语句并使用`fetchall()`方法获取查询结果。如下面的代码所示:

```python

import sqlite3

# 建立与数据库的连接

conn = sqlite3.connect('test.db')

# 执行查询操作

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")

# 关闭数据库连接

conn.close()

```

以上代码输出了`COMPANY`表格中的所有数据。

### 使用mysql-connector-python库

**1. 连接数据库**

同样地,我们先需要建立与数据库的连接。不过需要注意的是,我们需要在mysql-server中创建用户并授权以便访问数据库。

```python

import mysql.connector

# 建立与数据库的连接

mydb = mysql.connector.connect(

host="localhost",

user="yourusername",

password="yourpassword"

)

print(mydb)

```

以上代码借助`mysql.connector`库建立与MySQL数据库的连接,并输出连接对象。

**2. 创建数据表**

要创建数据表,我们需要先创建一个光标对象,并对其执行SQL语句。

```python

import mysql.connector

# 建立与数据库的连接

mydb = mysql.connector.connect(

host="localhost",

user="yourusername",

password="yourpassword"

)

mycursor = mydb.cursor()

# 创建数据表

mycursor.execute("CREATE DATABASE mydatabase")

```

以上代码创建了一个名为`mydatabase`的数据库。接着,我们可以创建数据表。

```python

import mysql.connector

# 建立与数据库的连接

mydb = mysql.connector.connect(

host="localhost",

user="yourusername",

password="yourpassword",

database="mydatabase"

)

mycursor = mydb.cursor()

# 创建数据表

mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")

```

以上代码创建了一个名为`customers`的数据表格。

**3. 插入数据**

要向表格中插入数据,可以使用`execute()`方法并指定SQL语句。

```python

import mysql.connector

# 建立与数据库的连接

mydb = mysql.connector.connect(

host="localhost",

user="yourusername",

password="yourpassword",

database="mydatabase"

)

mycursor = mydb.cursor()

# 插入数据

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"

val = ("John", "Highway 21")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")

```

以上代码向`customers`表格中插入了一行数据。

**4. 查询数据**

要查询数据,同样也是用`execute()`方法执行SQL语句,再使用`fetchall()`方法获取查询结果。

```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)

```

以上代码输出了`customers`表格中的所有数据。

总的来说,Python中调用数据库实例还是比较容易的。只需要了解所使用的库的基本用法和SQL语言的语法,基本上就可以对数据库进行操作了。需要注意的是,我们在进行数据操作时,应该遵守数据库的规则,并考虑到数据安全与数据完整性的问题。

延伸阅读:

1. SQL语言的基础语法及语法结构。

2. 数据库的设计原则,如范式、主键、外键等。

3. 数据库的优化与性能调优,如索引、缓存、分区等。

4. 数据库的安全问题,如SQL注入、XSS攻击等。

5. 事务的概念及在数据操作中的应用。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(15) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部