django 中鏈接數據,能夠使用pymysql 也能夠使用django 自帶的框架ORM python
用pymysql鏈接MySQL數據庫查詢數據
1. import pymysql
2. 創建鏈接
3. 獲取光標
4. 執行SQL語句
5. 獲取數據
6. 關閉光標
7. 關閉鏈接mysql
對象關係映射
類 數據表
屬性 字段
對象 數據行sql
使用pymysql鏈接數據庫缺點:
1. 麻煩
2. 本身寫SQL語句!!!
使用ORM工具鏈接數據庫
- 優勢:
1. 不用本身寫SQL語句!!!
- 缺點:
1. 執行效率不高(須要翻譯成語句再去執行)數據庫
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', #密碼 } }
2. 告訴Django用pymysql鏈接MySQL數據庫 (默認用的是MySQLDB)app
在項目的__init__.py 中加入以下配置框架
import pymysql pymysql.install_as_MySQLdb()
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
4. 讓Django去數據庫幫我建立類對應的數據表
1. python manage.py makemigrations --> 將models.py的改動記錄在小本本上
2. python manage.py migrate --> 將變動記錄翻譯成SQL語句,去數據庫執行工具
五、在django 中查看數據庫表數據spa
添加數據源(mysql 做爲數據源)
配置數據庫鏈接信息
注意:第一次配置須要下載驅動,在此頁面的下面有提示,下載能夠。
添加sqlite3 做爲數據源
注意:sqlite3 爲文件數據庫,數據庫實體自己就在django項目目錄內,直接右鍵做爲數據源打開便可。