python操作Mysql、视图

1、安装程式包

python3:pip install pymysql
python2:pip install MySQLdb

2、python抓取数据

 from pymysql import connect
 conn=connect(
    host='localhost',
     port=3306,
     database='python',
     user='root',
     password='root',
     charset='utf8'
 )
 cs=conn.cursor() # 光标
 cs.execute('select name from student')
 result=cs.fetchall()
 for i in result:
      print(i[0])
 cs.close()
 conn.close()
显示:
张三
张wu
张8
李四
张三
我
## 3、对象方法

commit()提交
列子:写入数据库

from pymysql import connect
conn=connect(
    host='localhost',
    port=3306,
    database='python',
    user='root',
    password='root',
    charset='utf8'
)
cs=conn.cursor()
cs.execute("insert into classes values(4,'四班')")
conn.commit()  #提交事务:将缓存 中的数据变更维护到物理表中
cs.close()
conn.close()

rollback回滚:放弃缓存中变更的数据
修改数据的命令会自动的触发事务,包括insert、update、delete

3、创建视图

创建视图的语句
create view s_c as (select student.id,student.name,student.age,student.hight,student.gender,student.birthday,classes.name as cname from student inner join classes on student.cls_id=classes.id);
查询结果:
select * from s_c
+----+--------+------+--------+--------+------------+--------+
| id | name   | age  | hight  | gender | birthday   | cname  |
+----+--------+------+--------+--------+------------+--------+
|  1 | 张三   |   18 | 175.00 | 女     | 1992-01-01 | 一班   |
|  2 | 张wu   |   19 | 171.00 | 女     | 1993-01-01 | 一班   |
|  3 | 张8    |   17 | 171.00 | 女     | 1993-01-01 | 一班   |
|  4 | 李四   |   28 | 188.00 | 男     | 1986-05-08 | 三班   |
|  5 | 张三   |   18 | 175.00 | 女     | 1992-01-01 | 一班   |
| 10 | 我     |   18 |   NULL | 隐藏   | 1991-04-19 | 二班   |
| 13 | test1  |   18 |   NULL | 隐藏   | 1991-04-19 | 二班   |
+----+--------+------+--------+--------+------------+--------+

视图一般用作多表关联查询

视图的作用:

1、提高了重用性,就像一个函数
2、对数据库重构,却不影响程序的运行
3、提高了安全性能,可以对不同的用户
4、让数据更加清晰
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值