将python中的数据存储到mysql中

navicat和mysql连接

在这里插入图片描述
新建一个MySQL连接意味着你正在配置一个用于访问和管理MySQL数据库的连接。在这个过程中,你使用了Navicat这样的数据库管理工具,通过填写一些必要的信息来建立与MySQL数据库的通信通道。

Navicat 是一款图形化数据库管理工具,旨在简化数据库开发和管理任务。
它提供了直观的用户界面,让用户可以通过可视化方式连接到不同类型的数据库,
并执行各种数据库操作,如查询、设计表、导入导出数据等。

让我解释一下这个过程的步骤:

  1. 打开Navicat并选择MySQL:首先,你打开了Navicat工具,并选择了MySQL作为你想要连接的数据库类型。

  2. 填写连接信息:在填写连接信息的阶段,通常你需要提供以下信息:

  • 连接名(Connection Name):你为这个连接起的一个名字,用于在Navicat中标识和选择这个连接。

  • 主机(Host):MySQL服务器的地址,即数据库所在的服务器的IP地址或域名。

  • 端口(Port):MySQL服务器- 监听的端口号,通常默认是3306,除非你的MySQL服务器配置使用了不同的端口。

  • 用户名(Username):连接到MySQL服务器所需的用户名。

  • 密码(Password):与用户名相对应的密码,用于身份验证。

  1. 点击保存:当你填写完这些信息后,点击保存按钮。这将保存你的连接配置。

  2. 新建连接:一旦保存了连接配置,你就可以使用该连接了。这样,Navicat就能够通过提供的信息建立与MySQL数据库的连接,使你能够执行数据库操作、查询数据等。

总的来说,新建MySQL连接是为了通过数据库管理工具与MySQL数据库建立通信通道,以方便地执行数据库管理任务和查询操作。连接配置中包含了必要的信息,确保你有权限访问目标MySQL数据库。

python连接数据库

import pymysql.cursors

# 连接数据库
connect = pymysql.Connect(
    host='127.0.0.1',   # MySQL服务器地址,通常是本地地址,也可以是远程地址
    port=3306,          # MySQL服务器端口号,默认是3306
    user='root',        # 登录MySQL的用户名
    passwd='123456',    # 登录MySQL的密码
    db='test_1',        # 要连接的数据库名
    charset='utf8'      # 连接字符集,使用utf8可以支持中文等特殊字符
)

解释每个参数的含义:

  • host: MySQL服务器的地址,通常是IP地址(例如:127.0.0.1)或域名。这里使用了本地地址(127.0.0.1),表示连接到本地MySQL服务器。

  • port: MySQL服务器的端口号,通常是3306。这是MySQL服务器监听连接的端口。

  • user: 登录MySQL的用户名,这里使用了root,通常是拥有足够权限的用户。

  • passwd: 登录MySQL的密码,这里使用了123456,实际应用中应该使用更安全的密码。

  • db: 要连接的数据库名,这里使用了test_1,表示连接到名为test_1的数据库。

  • charset: 连接字符集,这里使用了utf8,表示使用UTF-8编码,支持中文等特殊字符。

一旦连接成功,你可以使用connect对象进行数据库操作,比如执行SQL查询、插入数据等。在完成操作后,记得关闭数据库连接:

# 关闭数据库连接
connect.close()

用python操作表

# Create table
sql_create_table = "CREATE TABLE IF NOT EXISTS student(id INTEGER PRIMARY KEY, name TEXT)"
cursor.execute(sql_create_table)
connect.commit()
print('成功创建表格')

# Drop table
sql_drop_table = 'DROP TABLE IF EXISTS student'
cursor.execute(sql_drop_table)
connect.commit()
print('如果存在表就删除表格')

用python操作表里的数据

# 插入数据
insert_data = (1, 'student1')
cursor.execute("INSERT INTO student VALUES(%s, %s)", insert_data)
connect.commit()
print('成功插入', cursor.rowcount, '条数据')

# 修改数据
update_data = ('student2', 1)
cursor.execute("UPDATE student SET name = %s WHERE id = %s", update_data)
connect.commit()
print('成功修改', cursor.rowcount, '条数据')

# 查询数据
select_data = (1,) # 逗号是为了确保select_data 是一个元组而不是一个简单的值
cursor.execute("SELECT * FROM student WHERE id=%s", select_data)
for row in cursor.fetchall():     # cursor.fetchall()获取查询结果集中的所有行
    print(row)
print('共查找出', cursor.rowcount, '条数据')

# 删除数据
delete_data = (1,)
cursor.execute("DELETE FROM student WHERE id = %s LIMIT 1", delete_data)
connect.commit()
print('成功删除', cursor.rowcount, '条数据')

  • cursor.execute("INSERT INTO student VALUES(%s, %s)", insert_data): 这是一个使用参数的SQL插入语句。具体解释如下:

    • INSERT INTO student: 意味着要在名为"student"的表中执行插入操作。
    • VALUES(%s, %s): 用占位符 %s 表示插入值的位置,这里有两个占位符,对应表中的两个列(id和name)。
    • insert_data: 是一个元组,包含了实际要插入的数据。在这个例子中,insert_data(1, 'student1'),分别对应了id和name的值。
    • cursor.execute(...): 这个方法执行SQL语句,将参数传递给占位符,并将数据插入到数据库中。
  • cursor.execute("UPDATE student SET name = %s WHERE id = %s", update_data): 这是一个使用参数的SQL更新语句。具体解释如下:

    • UPDATE student: 表示要更新名为"student"的表。
    • SET name = %s: 指定要更新的列和新的值。在这里,更新"student"表中的"name"列。
    • WHERE id = %s: 确定要更新哪些行的条件。在这里,更新那些"id"等于给定值的行。
    • update_data: 是一个元组,包含了实际要更新的数据。在这个例子中,update_data('student2', 1),分别对应了新的"name"值和要更新的"id"值。
    • cursor.execute(...): 这个方法执行SQL语句,将参数传递给占位符,并将满足条件的行的数据进行更新。
  • cursor.execute("SELECT * FROM student WHERE id=%s", select_data): 这是一个使用参数的SQL查询语句。具体解释如下:

    • SELECT * FROM student: 表示从名为"student"的表中选择所有列的数据。
    • WHERE id=%s: 指定一个条件,即只选择满足"id"等于给定值的行。
    • select_data: 是一个元组,包含了实际要查询的数据。在这个例子中,select_data(1,),表示要查询"id"等于1的行。
    • cursor.execute(...): 这个方法执行SQL语句,将参数传递给占位符,并检索满足条件的行的数据。
  • cursor.execute("DELETE FROM student WHERE id = %s LIMIT 1", delete_data): 这是一个SQL删除语句,使用了参数化查询。

    • DELETE FROM student: 表示从名为"student"的表中执行删除操作。
    • WHERE id = %s: 是一个过滤条件,表示只删除那些"id"列等于给定值的行。
    • LIMIT 1: 限制删除的行数为1,即最多删除一行。这是为了确保在存在多个匹配行的情况下,只删除其中的一个。
    • delete_data: 是一个元组,包含了实际要删除的数据。在这个例子中,delete_data(1,),表示要删除"id"等于1的行。
    • cursor.execute(...): 这个方法执行SQL语句,将参数传递给占位符,并删除满足条件的行。
  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值