django ORM 數據庫鏈接配置

前言

django 中鏈接數據,能夠使用pymysql 也能夠使用django 自帶的框架ORM python

pymysql 操做數據庫

用pymysql鏈接MySQL數據庫查詢數據
1. import pymysql
2. 創建鏈接
3. 獲取光標
4. 執行SQL語句
5. 獲取數據
6. 關閉光標
7. 關閉鏈接mysql

ORM是個啥

對象關係映射

類       數據表
屬性      字段
對象        數據行sql

二者的比較

使用pymysql鏈接數據庫缺點:
1. 麻煩
2. 本身寫SQL語句!!!
使用ORM工具鏈接數據庫
- 優勢:
1. 不用本身寫SQL語句!!!
- 缺點:
1. 執行效率不高(須要翻譯成語句再去執行)數據庫

Django中如何使用ORM

1. 告訴Django鏈接哪一個MySQL數據庫(settings.py)django

settings.py 中數據庫鏈接配置 #默認的配置,默認使用的是django 自帶的數據庫sqlite3 # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } # }
 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',         #引擎
        'NAME': 'cmdb',                               #數據庫名稱
        'HOST':'127.0.0.1',                           #主機地址
        'PORT':3306,                                  #端口
        'USER':'root',                                #用戶名
        'PASSWORD':'111111',                          #密碼
 } }
View Code

2. 告訴Django用pymysql鏈接MySQL數據庫 (默認用的是MySQLDB)app

在項目的__init__.py 中加入以下配置框架

import pymysql pymysql.install_as_MySQLdb()
View Code

3. 去app/models.py裏面建立類ide

from django.db import models class IDC(models.Model): """ 機房信息 """ name = models.CharField('機房', max_length=32) floor = models.IntegerField('樓層', default=1) class Meta: verbose_name_plural = "機房表"

    def __str__(self): return self.name
View Code

4. 讓Django去數據庫幫我建立類對應的數據表
  1. python manage.py makemigrations           --> 將models.py的改動記錄在小本本上
  2. python manage.py migrate              --> 將變動記錄翻譯成SQL語句,去數據庫執行工具

五、在django 中查看數據庫表數據spa

  添加數據源(mysql 做爲數據源)

  

      配置數據庫鏈接信息

  

  注意:第一次配置須要下載驅動,在此頁面的下面有提示,下載能夠。

  添加sqlite3 做爲數據源

  

  注意:sqlite3 爲文件數據庫,數據庫實體自己就在django項目目錄內,直接右鍵做爲數據源打開便可。

相關文章
相關標籤/搜索