返回

数据库与表的创建:Python Web开发之旅的第四步

后端

Python Web开发(四):从零开始创建数据库和表

在Python Web开发中,数据库是一个至关重要的组成部分。它负责存储和管理数据,是Web应用程序的基础。在这一步,我们将深入浅出地探讨如何从零开始创建数据库和表,并使用Python连接数据库和执行SQL查询。

一、数据库与表的基础知识

1. 数据库

数据库是一种组织和存储数据的集合,通常由多个表组成。每个表由多个字段组成,每个字段存储特定类型的数据。数据库管理系统(DBMS)是管理和操作数据库的软件,负责数据的存储、检索、更新和删除。

2. 表

表是数据库中的一个逻辑单元,由多个行和列组成。每行代表一个数据记录,每列代表一个字段。表中的数据通常按照主键进行排序,主键是唯一标识每条记录的字段。

3. 字段

字段是表中存储数据的基本单元。每个字段都有一个名称、数据类型和长度。数据类型决定了字段可以存储的数据类型,如文本、数字、日期等。长度限制了字段可以存储的数据量。

4. 主键

主键是表中唯一标识每条记录的字段。主键的值必须是唯一的,不能重复。主键通常是一个自增长的整数字段,但也可以是其他类型的字段。

5. 外键

外键是建立两个表之间关系的字段。外键字段的值引用另一个表的主键值。外键可以确保数据的一致性,并防止数据丢失。

二、SQL语言

SQL(Structured Query Language)是一种用于与数据库交互的语言。它允许用户创建和修改数据库、表和字段,并对数据进行查询、插入、更新和删除。

1. 创建数据库

CREATE DATABASE database_name;

2. 创建表

CREATE TABLE table_name (
  column1_name data_type,
  column2_name data_type,
  ...
  PRIMARY KEY (column_name)
);

3. 插入数据

INSERT INTO table_name (column1_name, column2_name, ...)
VALUES (value1, value2, ...);

4. 查询数据

SELECT column1_name, column2_name, ...
FROM table_name
WHERE condition;

5. 更新数据

UPDATE table_name
SET column1_name = new_value1,
    column2_name = new_value2,
    ...
WHERE condition;

6. 删除数据

DELETE FROM table_name
WHERE condition;

三、使用Python连接数据库

1. 导入必要的库

import mysql.connector

2. 连接数据库

connection = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="database_name"
)

3. 创建游标

游标是执行SQL查询的工具。

cursor = connection.cursor()

4. 执行SQL查询

cursor.execute("SELECT * FROM table_name")

5. 获取查询结果

result = cursor.fetchall()

四、实践操作

1. 创建数据库和表

import mysql.connector

connection = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password"
)

cursor = connection.cursor()

cursor.execute("CREATE DATABASE orders")

cursor.execute("USE orders")

cursor.execute("""
CREATE TABLE orders (
  id INT NOT NULL AUTO_INCREMENT,
  customer_name VARCHAR(255) NOT NULL,
  product_name VARCHAR(255) NOT NULL,
  quantity INT NOT NULL,
  price FLOAT NOT NULL,
  PRIMARY KEY (id)
)
""")

connection.commit()

cursor.close()
connection.close()

2. 插入数据

import mysql.connector

connection = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="orders"
)

cursor = connection.cursor()

cursor.execute("""
INSERT INTO orders (customer_name, product_name, quantity, price)
VALUES
  ('John Doe', 'iPhone 13', 1, 999),
  ('Jane Smith', 'MacBook Pro', 1, 1299),
  ('Michael Jones', 'iPad Air', 2, 599)
""")

connection.commit()

cursor.close()
connection.close()

3. 查询数据

import mysql.connector

connection = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="orders"
)

cursor = connection.cursor()

cursor.execute("SELECT * FROM orders")

result = cursor.fetchall()

for order in result:
  print(order)

cursor.close()
connection.close()

总结

在这一步中,我们学习了如何从零开始创建数据库和表,并使用Python连接数据库和执行SQL查询。掌握这些知识,我们就可以在Python Web应用程序中存储和管理数据,并与数据库进行交互。