• python连接mysql数据库的练习


    一、导入pandas内置的sqlite3模块,连接的信息:ip地址是本机端口号port 3306, 用户user是root, 密码password123456, 数据库database是lambda-xiaozhang 
    1. import pymysql
    2. # 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名
    3. db = pymysql.connect(host='localhost', user='root', password='123456', database='lambda-xiaozhang')
    4. # 使用cursor()创建一个cursor对象
    5. cursor = db.cursor()
    6. # 使用execute()方法执行SQL查询
    7. cursor.execute("SELECT VERSION()")
    8. # 使用fetchone()方法获取单条数据
    9. data = cursor.fetchone()
    10. print("Database version: %s" % data)
    11. # 关闭数据库
    12. 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代码示例:

    1. import sqlite3
    2. # 连接到SQLite数据库(如果不存在,会创建一个新的数据库文件)
    3. conn = sqlite3.connect('student.db')
    4. # 创建一个游标对象
    5. cursor = conn.cursor()
    6. # 创建student表
    7. cursor.execute('''
    8. CREATE TABLE student (
    9. id INTEGER PRIMARY KEY,
    10. name VARCHAR(20),
    11. book VARCHAR(20),
    12. price INTEGER
    13. insert into student values(1,wu,english,100);
    14. )
    15. ''')
    16. # 提交更改并关闭连接
    17. conn.commit()
    18. conn.close()
    19. print("表student已成功创建")

    运行结果:

     

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

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

    id

    name

    bookprice

    1

    wu

    english

    100

    1. import sqlite3
    2. # 连接到SQLite数据库
    3. conn = sqlite3.connect('student.db')
    4. # 创建一个游标对象
    5. cursor = conn.cursor()
    6. # 插入数据
    7. cursor.execute("INSERT INTO student (id, name, book, price) VALUES (1, 'wu', 'english', 100)")
    8. # 提交更改
    9. conn.commit()
    10. # 关闭连接
    11. conn.close()
    12. print("数据已成功插入")

     运行结果:

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

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

    id

    name

    bookprice

    1

    wu

    english

    100

    1. import sqlite3
    2. # 连接到SQLite数据库
    3. conn = sqlite3.connect('student.db')
    4. # 创建一个游标对象
    5. cursor = conn.cursor()
    6. # 删除符合条件的数据,例如,根据id来删除
    7. cursor.execute("DELETE FROM student WHERE id = 1")
    8. # 提交更改
    9. conn.commit()
    10. # 关闭连接
    11. conn.close()
    12. print("数据已成功删除")

    运行结果:

     

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

    五、请用python代码,使用SQL语句将表的数据全部查询出来。 (5分)
    1. import sqlite3
    2. # 连接到SQLite数据库
    3. conn = sqlite3.connect('student.db')
    4. # 创建一个游标对象
    5. cursor = conn.cursor()
    6. # 执行SQL查询语句,查询表中的所有数据
    7. cursor.execute("SELECT * FROM student")
    8. # 获取查询结果
    9. result = cursor.fetchall()
    10. # 打印查询结果
    11. for row in result:
    12. print(row)
    13. # 关闭连接
    14. conn.close()

    运行结果:

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

  • 相关阅读:
    手撕HashMap(1.7)
    任务调度线程池基本介绍
    初识Linux
    leetcode每日一题-周复盘
    实践了上万次,原来这些才是敏捷测试需要遵循的原则
    uniapp:启动图 .9png 制作教程
    Set 集合概述与使用
    Jmeter压测报错:java.net.SocketException: Socket closed
    软件测试---场景法(功能测试)
    【leetCode:剑指 Offer】20. 表示数值的字符串
  • 原文地址:https://blog.csdn.net/m0_55834564/article/details/132913088