下载pymysql:
pip install pymysql
在MySQL中创建数据库:unicom
create database unicom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;use unicom;
在unicom中创建数据表:admin
create table admin(id int not null primary key auto_increment,username varchar(16) not null,password varchar(64) not null,mobile char(11) not null
);
1.插入数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令
cursor.execute("insert into admin(username,password,mobile) values('doufuru','DFL123456','1888888888')")
conn.commit()# 3.关闭
cursor.close()
conn.close()
记得端口号、用户名、用户密码要写对
python中运行成功后,在mysql中查询表中的数据:插入成功
发送指令的代码,还有下面两种方式(最好严格按照下面方式之一进行拼接,即cursor.execute自带的参数方法):
# 2.发送指令
sql = "insert into admin(username,password,mobile) values(%s,%s,%s)"
cursor.execute(sql,["贯一", "G123456", "1766666666"])
conn.commit()
# 2.发送指令
sql = "insert into admin(username,password,mobile) values( %(n1)s, %(n2)s, %(n3)s)"
cursor.execute(sql, {"n1": "兰亭", "n2": "L123456", "n3": "1597777777"})
conn.commit()
结果:
2.查询数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令
cursor.execute("select * from admin where id > %s", [2, ])data_list = cursor.fetchall()
for row_dict in data_list:print(row_dict)conn.commit()# 3.关闭
cursor.close()
conn.close()
有变化的是发送指令这一步
cursor.fetchall():获取符合条件的所有数据,得到的是[字典,字典,]形式
cursor.fetchone():获取符合条件的第一条数据,字典形式
查询结果:
3.删除数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令
cursor.execute("delete from admin where id=%s", [2, ])
conn.commit()# 3.关闭
cursor.close()
conn.close()
上面指令是删除id等于2的那一行
运行之前的表数据为:
运行之后的表数据为:
4.修改数据
import pymysql# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.发送指令
cursor.execute("update admin set mobile=%s where id=%s", ["1788888888", 8, ])
conn.commit()# 3.关闭
cursor.close()
conn.close()
将id为8的mobile修改为1788888888
运行前后数据表: