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

相关推荐
为中华崛起而奋斗22 分钟前
Oracle 19c RAC集群ADG搭建
数据库·oracle
Andrew_Xzw38 分钟前
数据结构与算法(快速基础C++版)
开发语言·数据结构·c++·python·深度学习·算法
betazhou2 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
开挖掘机上班2 小时前
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
数据库·mysql
花月C2 小时前
Mysql-定时删除数据库中的验证码
数据库·后端·mysql·spring
凤头百灵鸟2 小时前
Python语法基础篇(包含类型转换、拷贝、可变对象/不可变对象,函数,拆包,异常,模块,闭包,装饰器)
python
多多*2 小时前
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
linux·开发语言·redis·python·bootstrap·lua
何双新4 小时前
第21讲、Odoo 18 配置机制详解
linux·python·开源
Wish3D4 小时前
阿里云OSS 上传文件 Python版本
开发语言·python·阿里云