python加数据库_数据库: Python连接数据库实现增 删 改 查 操作

准备好测试的数据库

IP: 47.92.31.46

用户名: yang

密码:    11223344.

数据库名字 :  databasetest

表格:  userinfo

这是我云端电脑安装的数据库,大家都可以连接测试

我设置了权限,只可以增删改查数据

下载包

输入 pymysql

新建文件

连接数据库import pymysql #数据库

db = pymysql.connect(host="47.92.31.41",user="yang",password="11223344.",database="databasetest",charset="utf8",use_unicode=True)

#只要执行下来就说明连接上了

print("成功连接数据库")

db.close();#关闭连接

插入数据

一,插入数据,id是1,用户名是yang 密码是11223344

"insert into userinfo "+ " values(1,"+"'"+ "yang" +"'"+ "," +"'"+"11223344"+"'"+")";

insert into userinfo : 插入数据到 userinfo 表格

1 :id的值,自动递增

yang : 用户名

11223344 :密码

注:一般插入字符串型数据需要在数据两边加   '    '

也就是  '数据'sql = "insert into userinfo " + " values(1," + "'" + "yang" + "'" + "," + "'" + "11223344" + "'" + ")";

cursor = db.cursor()

cursor.execute(sql)

db.commit() # 提交数据

运行测试

插入数据(第二种)sql = "insert into userinfo "+ " values(NULL,"+"'"+ "yangyang" +"'"+ "," +"'"+"00000000"+"'"+")";

和上面相比 value(NULL.....)

设置第一个字段是空,意思是不填写第一个字段(默认就会自动递增)

运行测试

总结上两种插入数据方式

values里面的值依次填到表格中,如果数据不够,后面的就不插入数据

插入数据(第三种)sql = "insert into userinfo (username,password)"+ "values(" +"'"+ "yangyang" +"'"+ "," +"'"+"11111111"+"'"+")";(username,password) 后面的values里面的数据对应插到哪个字段里面yangyang 插入到 username 字段里面11111111 插入到 password 字段里面

运行测试

删除数据sql = "delete from userinfo "+" where "+"username = "+"'"+"yang" +"'";

删除 userinfo表格中 username字段中是 yang的数据

意思就是删除,下面这条数据

运行测试sql = "delete from userinfo "+" where "+"username = "+"'"+"yangyang" +"'"+ " and " +"password ="+"'"+"00000000"+"'";

删除 userinfo表格中 username字段中是 yangyang,同时password字段中是 00000000 的数据

其实就是删除这个

运行测试

修改数据sql = "update userinfo set password="+"'"+"888888"+"'" +"where username="+"'"+"yangyang"+"'";

找到userinfo表格中username字段值是yangyang的

然后把 password字段的值修改为 888888

其实就是把11111111修改为888888

运行测试

当然也可以直接设置sql = "update userinfo set password="+"'"+"888888"+"'";

查询数据sql = "select *from userinfo";#查询表格中的所有数据

try:

cursor = db.cursor()

cursor.execute(sql)

# 获取所有记录列表

results = cursor.fetchall()

for row in results:

print (row[0],row[1],row[2])

except:

print ("error")

测试

为直观看到下面的测试增加一个用户名和密码查询表格中的所有username字段的值sql = "select username from userinfo";#查询表格中的所有username字段的值

try:

cursor = db.cursor()

cursor.execute(sql)

# 获取所有记录列表

results = cursor.fetchall()

for row in results:

print (row[0])

except:

print ("error")

运行测试查询表格中的密码是666666的用户名sql = "select username from userinfo where password = 666666";//查询表格中的密码是666666的用户名

运行测试//查询表格中password是666666的所有数据sql = "select *from userinfo where password = 666666";#查询表格中password是666666的所有用户信息

try:

cursor = db.cursor()

cursor.execute(sql)

# 获取所有记录列表

results = cursor.fetchall()

for row in results:

print (row[0],row[1],row[2])

except:

print ("error")

运行测试

补充

若想让数据库支持断线重连try:

cursor.execute(sql)

db.commit() # 提交数据

except Exception as e:

try:

db.ping();

except Exception as e:

db.connect();

cursor.execute(sql)

db.commit() # 提交数据

MySQL Connector/Net 版本所需的 .Net Framework 版本 不同的版本 MySQL Connector/Net 所需的 .Net Framework 版本也是不同的: MySQL Connector/Net 6.9.12 需要 .Net Framework 4.0 或更高版本支持。(2018-04-30, General Availability) MySQL Connector/Ne 6.10.1 需要 .Net Framework 4.5.1 或更高版本支持。 MySQL Connector Net 6.10.2 到最新的 MySQL Connector Net 8.0.20 需要 .Net Framework 4.5.2 或更高版本。 MySQL Connector/NET 6.9.12 支持与 MySQL Server 8.0.3 以及之前版本的MySQL Server连接。 从官方网站下载mysql-connector-net-8.20.0.msi安装之后,安装目录下的Assemblies只有v4.5.2的MySql.Data.dll,也就是说它需要 v4.5.2 以上版本的 .Net Framework 支持。如果VS项目的目标框架是.NET Framework 4.5.2或更高版本,则引用正常;将项目的目标框架为.NET Framework 4 再进行编译就会报错,提示“ 未能解析主引用“MySql.Data, Version=...... 该程序集是针对 .NETFramework,Version=v4.5.2 框架生成的......该框架版本高于当前目标框架 .NETFramework,Version=v4.0”。这表明这个 MySQL Connector/Net 的 MySql.Data.dll 需要 .Net Framework v4.5.2 的支持。 如果项目的目标框架是 .Net Framework v4.0 则最高只能使用 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 。而需要注意的是 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 是在2018-04-30发布的,官方文档显示支持与 MySQL Server 8.0.3 及之前的版本的MySQL Server连接。 C#通过MySql.Data.dll连接MySql数据库 在项目引用组件:MySql.Data.dll (记得复制到本地选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码 using MySql.Data.MySqlClient; ......接下来这里就看你表演了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值