Django框架与ORM框架
ORM框架安装第三方模块
[*]pip install mysqlclient
https://i-blog.csdnimg.cn/direct/39431354cd89406798af1d9884e6aed8.png
https://i-blog.csdnimg.cn/direct/f70cafdb16734839999cb1585ba31ab0.png
[*]创建、修改、删除数据库中的表
[*]不需要我们写SQL语句,且无法创建数据库
[*]操纵表中的数据
[*]同样也不需要写SQL语句;表中数据的增、删、改、查
创建数据库
[*]启动MySQL服务
https://i-blog.csdnimg.cn/direct/99f8da7ab6044f208f97479f3f3be66e.png
[*]利用自带工具创建数据库
create database liupc02 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
https://i-blog.csdnimg.cn/direct/dd3f38cf254148d8b3895c4473b3054d.png
Django连接数据库
[*]在settings.py 文件中进行配置和修改
https://i-blog.csdnimg.cn/direct/f05c8aa35cdf428da12aff3696b4d39b.png
将自带的sqlite数据库注释
https://i-blog.csdnimg.cn/direct/70c94a704ca14d4f9987a249eece4377.png
添加数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 默认
'NAME': 'django(注意更换本身的数据库名称)', # 连接的数据库 #一定要存在的数据库名
'HOST': '127.0.0.1', # mysql的ip地址
'PORT': 3306, # mysql的端口
'USER': 'root', # mysql的用户名
'PASSWORD': 'youpwd!!!注意更换' # mysql的密码
}
}
https://i-blog.csdnimg.cn/direct/14d2b37034c64a69bd400e923b670abc.png
Django操纵表
[*]在models.py 文件中操纵
https://i-blog.csdnimg.cn/direct/b3cfff88e91c43a0a98037f006ccf19c.png
创建表
https://i-blog.csdnimg.cn/direct/d7dd9e5313db4fa4998b5d3ffb1d917b.png
[*]name = models.CharField(max_length=32)
相当于SQL语句中的name varchar(32)
· password = models.CharField(max_length=64)
相当于SQL语句中的passwd varchar(64)
· age = models.IntegerField()
相当于SQL语句中的age int()
[*]而且Django会自动默认在表头添加主键ID
执行命令
[*]注意:操纵这个命令之前需要app提前注册
[*]python manage.py makemigrations
https://i-blog.csdnimg.cn/direct/5dc4e6d1c00942c992f06a99d9d726b7.png
[*]python manage.py migrate
https://i-blog.csdnimg.cn/direct/9f861ccaee6543c1acc22c45098c4262.png
[*]查察是否创建成功
https://i-blog.csdnimg.cn/direct/f1e3f5ab1ace467a8337eb0b2b3a95ad.png
https://i-blog.csdnimg.cn/direct/d4d8db47b7ba4438b2cb6d1580d4fa2c.png
https://i-blog.csdnimg.cn/direct/7cad54d4c2f54d7ab2614296ab78a701.png
删除表
[*]将models.py 文件中的内容 注释 或 删除 掉即可(想要删除/注释哪个表就删除/注释哪个类)
修改表
[*]假如要向表中添加一列就需要利用命令:python manage.py makemigrations
[*]起首需要向class类中添加数据,然后再执行上述命令
[*]在表中新增列时,由于已存在列中大概已有数据,所以新增列必须要指定新增列对应的数据(1. 手动输入一个只; 2. 设置默认值(default = 2); 3. 允许为空(null = True, blank = Ture ))
ORM-增、删、改、查
新增
[*]UserInfo.objects.create(name= "liupc", password= "123456", age=20)
相当于SQL语句中的inster into
https://i-blog.csdnimg.cn/direct/44f4eb17dbd043ab8866526509d26a07.png
删除
[*]UserInfo.objects.filter(name="liupc").delete()
先当与SQL语句中的delete 列名 from 表名 where 判断条件
https://i-blog.csdnimg.cn/direct/05c1655830da458ebfee17aae298750e.png
https://i-blog.csdnimg.cn/direct/226bf96750924e0686b529a140b5eba1.png
查察
[*]UserInfo.objects.all()
相当与SQL语句中的select * from
https://i-blog.csdnimg.cn/direct/18fd9cbf603c4d84baa0b74c73cd13bd.png
https://i-blog.csdnimg.cn/direct/b66d6a193b7749cf82c378885d9b623f.png
修改
[*]UserInfo.objects.filter(id=2).update(password=999)
相当于数据库中的update 表名 set 列=值 where 条件;
https://i-blog.csdnimg.cn/direct/f90c514410bc4823b6fb4c33758553f0.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]