📜  数据库(1)

📅  最后修改于: 2023-12-03 15:39:58.169000             🧑  作者: Mango

数据库介绍

数据库是一个广泛使用的数据存储和管理工具,它可以帮助程序员存储、组织、管理和检索大量的数据,并支持多用户访问。

关系型数据库和非关系型数据库

数据库可以分为关系型数据库和非关系型数据库两类。

关系型数据库

关系型数据库使用表格的形式来存储数据,每个表格由若干行和若干列组成,其中每行代表一个数据库记录,每列代表该记录的某个属性。关系型数据库之间可以通过外键进行关联,形成复杂的数据查询和处理操作。

常见的关系型数据库包括MySQL、Oracle、SQL Server等。

非关系型数据库

非关系型数据库不使用表格的形式来存储数据,而是使用键值对、文档、图形等方式来存储数据。非关系型数据库没有固定的数据结构,可以灵活地根据需求来存储数据。

常见的非关系型数据库包括Redis、MongoDB、Cassandra等。

常用的数据库操作

数据库操作包括增、删、改、查四个基本操作。在使用数据库前需要进行连接和认证,连接成功后可以进行数据库选择、表格选择、字段选择等操作。

连接数据库

使用Python中的pymysql库来连接MySQL数据库:

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 关闭数据库连接
conn.close()
选择数据库
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 选择数据库
cursor = conn.cursor()
cursor.execute("use test")

# 关闭数据库连接
cursor.close()
conn.close()
创建表格
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 创建表格
cursor = conn.cursor()
sql = '''
CREATE TABLE `students` (
 `id` INT(11) NOT NULL AUTO_INCREMENT,
 `name` VARCHAR(50) NOT NULL,
 `age` INT(11) NOT NULL,
 PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
'''
cursor.execute(sql)

# 关闭数据库连接
cursor.close()
conn.close()
插入数据
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 插入数据
cursor = conn.cursor()
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
cursor.execute(sql, ('张三', 20))
conn.commit()

# 关闭数据库连接
cursor.close()
conn.close()
更新数据
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 更新数据
cursor = conn.cursor()
sql = "UPDATE students SET age = %s WHERE name = %s"
cursor.execute(sql, (21, '张三'))
conn.commit()

# 关闭数据库连接
cursor.close()
conn.close()
删除数据
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 删除数据
cursor = conn.cursor()
sql = "DELETE FROM students WHERE name = %s"
cursor.execute(sql, '张三')
conn.commit()

# 关闭数据库连接
cursor.close()
conn.close()
查询数据
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', port=3306, charset='utf8mb4')

# 查询数据
cursor = conn.cursor()
sql = "SELECT id, name, age FROM students"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    age = row[2]
    print(f"ID: {id}, Name: {name}, Age: {age}")

# 关闭数据库连接
cursor.close()
conn.close()
总结

数据库是程序员必备的工具之一,它为我们提供了存储、管理和查询数据的能力。在使用数据库时,需要根据需求选择合适的数据库类型和操作方式,保证数据安全、稳定和高效。