Python数据库编程(MySQL)

Python数据库MySql编程

MySQL数据库常见操作语法:增、删、改、查
增:
insert into 表名 values (各字段的值)
指定字段:insert into 表名(字段属性) values (指定字段属性相应的值)

删:
delete from 表名:用于删除指定表的所有数据
(可以加上限定符,删除指定行,例如where语句,limit语句等)
drop database 库名:删除整个数据库

改:
update 表名 set 属性=值:更改表中的数据的值
(可以使用where语句,limit等语句更改指定的行的数据)
alter table 表名 add/drop/change/modify:更改表的属性

查:
select 列名 from 表:查询指定表的某一列的值
(where,limit,group by等语句控制查询的数据)

Python对于MySQL数据库的编程需要的模块:
mysql.connector
命令行下载相应模块:pip install mysql-connector-python

使用Python操作数据库的步骤:
1、 创建一个连接对象
2、 创建一个游标对象
3、 通过游标对象对数据库进行增、删、改、查
4、 处理返回的数据(对于数据库的查找)
5、 关闭游标对象
6、 关闭连接对象

1、 创建连接对象
sqlcon=mysql.connector.connect(user=数据库账号,password=密码,host=主机地址,port=数据库端口号,database=’使用的数据库’)
在这里插入图片描述
2、 创建游标对象
游标对象的创建是基于连接对象的:
con=sqlcon.cursor()

3、 通过游标对象进行相应的增、删、改、查
Python执行上述操作都是使用游标对象的execut方法
包括:
execute()
executemany()
(1) 使用execute()方法单个执行
con.execute(‘操作语句’,(相应的参数))
例如:(下方的%s表示占位符,通过该模块的全局变量可以查看得到)
Python交互模式下:mysql.connector.paramstyle
在这里插入图片描述
(表示该模块支持的参数方式)
增:
con.execute(‘insert into users values (null,%s,%s,%s)’,(‘john’,15,’man’))
删:
con.execute(‘delete from users where user_id=5’)
con.execute(‘delete from users where user_id=%s’,(6,))
改:
con.execute(‘update users set name=’Mecheal’ where user_id=7’)
con.execute(‘update users set name=%s where user_id=%s’,(‘Mecheal’,7))
查:
con.execute(‘select name from users where user_id=8’)
con.execute(‘select name from users where user_id=%s’,(8,))
(以上说明,execute方法可以使用占位符%s,也可以不使用)

(2) 使用executemany()方法执行多次
con.execute(‘insert into users values(null,%s,%s,%s)’,
((‘John’,12,’woman’),
(‘Mecheal’,13,’man’)))
(通过多个元组参数,执行多次该数据库命令)

4、 处理返回的数据(也就是查询到的数据)
使用游标对象的fetch方法,包含:
fetchone():取出查询值的一行
fetchmany(n):取出多行值,返回多个列表
fetchall():取出查询的所有值
使用:
result=con.fetchone()
在这里插入图片描述
(每一次执行一个fetch,取回的结果就会往后移动相应位)
返回的结果是列表: 在这里插入图片描述
(fetchone返回的是一个元组)

使用for in语句获取相应的数据:
在这里插入图片描述
(返回多条数据,迭代的是一个元组;而返回一条数据,迭代的是一个数据)

注意一点:每次使用DML语句,需要在后面调用连接对象的commit()方法提交事务,否则不会生效-----sqlcon.commit()
(也可以设置sqlcon.autocommite=True,就可以不用指定,默认是False)

5、 关闭游标对象
con.close()
6、 关闭连接对象
sqlcon.close()
在这里插入图片描述
结果:
在这里插入图片描述
(游标对象的description属性,返回的每一列的属性,也就是创建列时给定的属性)

总结一下:
1、 创建连接对象:mysql.connetor.connect()
2、 创建游标对象:cursor()
3、 执行语句:execute()
4、 获取查询结果:fetchall()
5、 关闭游标对象和连接对象:close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值