1.数据库操作之sql语句
创建一个数据库
授权一个用户
创建一个表
查询表数据
插入数据
更改数据
删除表
两个表数据联合查询
创建索引
查询是否使用索引
2.python下链接数据库
python2使用的MySQLdb
python3使用的是pymysql
创建数据库连接和游标,在数据库连接中,尽量使用一个链接,确保数据库并发;
执行数据库语句
获取执行结果
关闭游标、链接
3.使用SQLAlchemy
创建引擎
创建session
创建数据表
- 获得engine
- metadata.create_all()会自动检测表是否存在,存在的话就不进行操作
增加表数据
创建模型
导入模型,实例化类
添加数据
filter和filter_by的区别
filter:可以使用> < 等,但是列必须是: 表.列, filter的等于号是== session.query(Student).filter(Student.id>100) filter 不支持组合查询 session.query(Student).filter(Studnet.id>100).filter(name=='name')
filter_by: 可以直接写列,不支持< > filter_by 等于是== session.query(Student).filter_by(id==10) filter_by 可以支持组合查询 session.query(Student).filter_by(name=='name' and id=='id')
select * from student where name like '%name%'; 模糊查询含有ling的关键字 模糊查询 session.query(Student).filter(Student.name.like('%name%'))
获取数据的时候有两个方法: one() tuple all() list(单个元素是tuple) 如果在查询中不写one(), 或者all() 出来的就是sql语句
数据更新
- 先获取类数据
- 更新类对应的数据属性
- 提交数据
数据删除
- 获取类数据
- 直接调用delete()方法
- 提交更改
统计数据
数据分组