django 中连接数据,可以使用pymysql 也可以使用django 自带的框架ORM 

用pymysql连接MySQL数据库查询数据
1. import pymysql
2. 建立连接
3. 获取光标
4. 执行SQL语句
5. 获取数据
6. 关闭光标
7. 关闭连接

对象关系映射

类       数据表
属性      字段
对象        数据行

使用pymysql连接数据库缺点:
1. 麻烦
2. 自己写SQL语句!!!
使用ORM工具连接数据库
– 优点:
1. 不用自己写SQL语句!!!
– 缺点:
1. 执行效率不高(需要翻译成语句再去执行)

1. 告诉Django连接哪个MySQL数据库(settings.py)

  1. settings.py 中数据库连接配置
  2. #默认的配置,默认使用的是django 自带的数据库sqlite3
  3. # DATABASES = {
  4. # \'default\': {
  5. # \'ENGINE\': \'django.db.backends.sqlite3\',
  6. # \'NAME\': os.path.join(BASE_DIR, \'db.sqlite3\'),
  7. # }
  8. # }
  9. DATABASES = {
  10. \'default\': {
  11. \'ENGINE\': \'django.db.backends.mysql\', #引擎
  12. \'NAME\': \'cmdb\', #数据库名称
  13. \'HOST\':\'127.0.0.1\', #主机地址
  14. \'PORT\':3306, #端口
  15. \'USER\':\'root\', #用户名
  16. \'PASSWORD\':\'111111\', #密码
  17. }
  18. }

View Code

2. 告诉Django用pymysql连接MySQL数据库 (默认用的是MySQLDB)

在项目的__init__.py 中加入如下配置

  1. import pymysql
  2. pymysql.install_as_MySQLdb()

View Code

3. 去app/models.py里面创建类

  1. from django.db import models
  2. class IDC(models.Model):
  3. """
  4. 机房信息
  5. """
  6. name = models.CharField(\'机房\', max_length=32)
  7. floor = models.IntegerField(\'楼层\', default=1)
  8. class Meta:
  9. verbose_name_plural = "机房表"
  10.  
  11. def __str__(self):
  12. return self.name

View Code

4. 让Django去数据库帮我创建类对应的数据表
  1. python manage.py makemigrations           –> 将models.py的改动记录在小本本上
  2. python manage.py migrate              –> 将变更记录翻译成SQL语句,去数据库执行

5、在django 中查看数据库表数据

  添加数据源(mysql 作为数据源)

  

      配置数据库连接信息

  

  注意:第一次配置需要下载驱动,在此页面的下面有提示,下载可以。

  添加sqlite3 作为数据源

  

  注意:sqlite3 为文件数据库,数据库实体本身就在django项目目录内,直接右键作为数据源打开即可。

 

版权声明:本文为fanggege原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fanggege/p/10327920.html