1.数据库的配置:
django默认支持sqlite,mysql ,oracle,postgresql数据库。
<1>sqlite
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动,引擎名称:django.db.backends.sqlite3
<2>mysql
引擎名称:django.db.backends.mysql
2.mysql驱动程序
· MySQLdb(mysql python)
·mysqlclient
·MySQL
·PyMySQL(纯python的mysql驱动程序)
3. 在django的项目中会默认使用sqlite数据库,在setting里有如下配置:
4.在django的项目中使用mysql数据库,在setting里有如下配置:
5.model中操作数据库的语法:
<1>创建类继承models.Model:
1.Book:表的名称
2.price:表中字段的名称
3.CharField(max_length=1000):创建字段的格式,字符串格式,长度最大1000
4.在命令行输入python manage.py makemigrations 创建表单
5.在命令行输入python manage.py migrate
注意:如果报no module named MySQLdb,需在项目__init__下加入下边两条
import pymysql
py.mysql.install_as_MySQLdb()
6.ORM对单表的增删改操作:
<1>数据的添加:
第一种添加数据如下
1.表的名称
2.在表中添加的键值对
3.数据的保存
第二种添加数据如下:
<2>数据的更改:
第一种修改数据如下:
1.filter 查找方法
2.通过字段查找到该数据
3.更改字段的新值
第二种修改数据如下:
注意:推荐第一种方法,且第一种方法filter效率高(可添加多条件筛选) filter可以取多条记录
增加数据库操作日志在setting中加入如下内容:
<3>数据的删除:
1.Book:表的名称
2.name=‘xiaoming’:字段的名称
3.delete():删除方法
<4>数据的查询:
1.查询Author中的所有数据
2.返回的是一个对象列表
3.遍历对象获取里边的值如下:
1.返回的对象列表
2.每个对象的键(数据库中的字段名)
4.用切片限制数据的数量:
1.显示前三条数据
如下为查询的api:
get() first() last() 取到的是一个实例对象而不是一个Queryset的集合对象
5注意去重:需要用values筛选
6.模糊查询api: