python连接mysql数据库的练习

一、导入pandas内置的sqlite3模块,连接的信息:ip地址是本机, 端口号port 是3306, 用户user是root, 密码password是123456, 数据库database是lambda-xiaozhang
复制代码
import pymysql

# 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名
db = pymysql.connect(host='localhost', user='root', password='123456', database='lambda-xiaozhang')

# 使用cursor()创建一个cursor对象
cursor = db.cursor()

# 使用execute()方法执行SQL查询
cursor.execute("SELECT VERSION()")

# 使用fetchone()方法获取单条数据
data = cursor.fetchone()
print("Database version: %s" % data)

# 关闭数据库
db.close()

运行结果:

请确认你的数据库是SQLite数据库还是MySQL数据库,并根据实际情况提供正确的连接信息。如果是SQLite数据库,只需要提供数据库文件的路径,而不需要IP地址、端口号、用户和密码。如果是MySQL数据库,你需要使用MySQL的相关库来连接,而不是SQLite

二、创建如下所示的表结构,表名student,id字段类型int primary key,name字段类型varchar(20), book字段类型varchar(20),price字段类型INTEGER。 (5分)

|----|------|------|-------|
| id | name | book | price |

你可以使用Python的数据库库来连接到数据库并创建表结构。在这里,我将使用sqlite3库来示范如何创建这个表结构。请确保你已经安装了sqlite3库。

以下是创建表结构的Python代码示例:

复制代码
import sqlite3

# 连接到SQLite数据库(如果不存在,会创建一个新的数据库文件)
conn = sqlite3.connect('student.db')

# 创建一个游标对象
cursor = conn.cursor()

# 创建student表
cursor.execute('''
    CREATE TABLE student (
        id INTEGER PRIMARY KEY,
        name VARCHAR(20),
        book VARCHAR(20),
        price INTEGER
        insert into student values(1,wu,english,100);
    )
    
''')

# 提交更改并关闭连接
conn.commit()
conn.close()

print("表student已成功创建")

运行结果:

这段代码首先连接到一个SQLite数据库文件(student.db),然后使用游标对象执行SQL语句来创建student表。表的结构与你的要求一致,包括id、name、book和price字段。最后,代码提交更改并关闭数据库连接。

三、请用python代码,插入如下所示的表数据。 (5分)

|----|------|---------|-------|
| id | name | book | price |
| 1 | wu | english | 100 |

复制代码
import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('student.db')

# 创建一个游标对象
cursor = conn.cursor()

# 插入数据
cursor.execute("INSERT INTO student (id, name, book, price) VALUES (1, 'wu', 'english', 100)")


# 提交更改
conn.commit()

# 关闭连接
conn.close()

print("数据已成功插入")

运行结果:

这段代码首先连接到之前创建的student表所在的SQLite数据库(student.db),然后使用游标对象执行SQL语句来插入一条数据。插入的数据包括id、name、book和price字段的值。最后,代码提交更改并关闭数据库连接。

四、 请用python代码,删除如下所示的表数据。 (5分)

|----|------|---------|-------|
| id | name | book | price |
| 1 | wu | english | 100 |

复制代码
import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('student.db')

# 创建一个游标对象
cursor = conn.cursor()

# 删除符合条件的数据,例如,根据id来删除
cursor.execute("DELETE FROM student WHERE id = 1")

# 提交更改
conn.commit()

# 关闭连接
conn.close()

print("数据已成功删除")

运行结果:

这段代码首先连接到存储数据的SQLite数据库(student.db),然后使用游标对象执行SQL的DELETE语句来删除符合条件的数据。在这个示例中,我们删除了id等于1的行数据。最后,提交更改并关闭数据库连接。

五、请用python代码,使用SQL语句将表的数据全部查询出来。 (5分)
复制代码
import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('student.db')

# 创建一个游标对象
cursor = conn.cursor()

# 执行SQL查询语句,查询表中的所有数据
cursor.execute("SELECT * FROM student")

# 获取查询结果
result = cursor.fetchall()

# 打印查询结果
for row in result:
    print(row)

# 关闭连接
conn.close()

运行结果:

这段代码首先连接到student表所在的SQLite数据库(student.db),然后使用游标对象执行SQL查询语句来检索所有数据。查询结果存储在result变量中,然后通过循环打印每一行数据。最后,关闭数据库连接。

相关推荐
夏天拐跑了西瓜14 小时前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
动恰客流统计14 小时前
景区客流统计怎么做?兼顾管控与运营的实施方案解析
大数据·前端·人工智能
weixin_4438830114 小时前
合规整改倒计时:高等级签名证书的应用场景
大数据·人工智能·法大大·法大大电子签·电子合同
魔猴疯猿14 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习
笨小孩@GF 知行合一15 小时前
易语言-高级应用
数据库·编程·易语言·中文编程
xiaoqi019515 小时前
机器学习因子分析实战:从量化特征到可视化决策
人工智能·python·机器学习
KaiwuDB16 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
Escalating_xu16 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
dozenyaoyida16 小时前
AI与大模型新闻日报 | 2026-09-30
大数据·人工智能·大模型·新闻