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

相关推荐
奔跑吧邓邓子15 分钟前
大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!
大数据·hadoop·分布式
说私域1 小时前
基于定制开发与2+1链动模式的商城小程序搭建策略
大数据·小程序
FreakStudio2 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21362 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
hengzhepa2 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
vvvae12342 小时前
分布式数据库
数据库
_.Switch3 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
雪域迷影3 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
一个闪现必杀技3 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
GZ_TOGOGO3 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为