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变量中,然后通过循环打印每一行数据。最后,关闭数据库连接。

相关推荐
赵渝强老师2 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
IVEN_2 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang3 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮4 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling4 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
字节跳动数据平台6 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
全栈老石6 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
AI攻城狮7 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
得物技术7 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark