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

相关推荐
鸭鸭鸭进京赶烤1 小时前
大学专业科普 | 云计算、大数据
大数据·云计算
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
DuelCode3 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
幽络源小助理4 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
Hello.Reader4 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
烛阴4 小时前
简单入门Python装饰器
前端·python
好开心啊没烦恼4 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
面朝大海,春不暖,花不开5 小时前
使用 Python 实现 ETL 流程:从文本文件提取到数据处理的全面指南
python·etl·原型模式