1. 程式人生 > 資料庫 >django連線mysql資料庫及建表操作例項詳解

django連線mysql資料庫及建表操作例項詳解

本文例項講述了django連線mysql資料庫及建表操作。分享給大家供大家參考,具體如下:

django連線mysql資料庫需要在project同名的目錄下面的__init__.py裡面加入下面的東西

import pymysql
pymysql.install_as_MySQLdb()

找到settIngs裡面的database設定如下

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql','NAME': 's22',#連線的庫名,這個要事先存在
    'HOST':"127.0.0.1",'PORT':3306,'USER':"root",'PASSWORD':"123",#這裡要用引號
  }
}

下面是靜態檔案路徑的修改

#靜態檔案位置比如用來存放 bootstrap樣式,jquery-3.3.1.min.js
STATIC_URL = '/static/'
STATICFILES_DIRS=[
  os.path.join(BASE_DIR,"static"),os.path.join(BASE_DIR,"static99"),]


然後建立一個應用app01,在pycharm的terminal下面

我的project是test1

G:\study\day18\test1> python manage.py startapp app01

告訴django有哪些app,settIngs.py裡面設定,加入到最後一行,注意:如果是在建立project的同時寫了Application name,它會自動加入到這裡面

INSTALLED_APPS = [
  'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config',#你在命令列建立app時要注意新增
]

在app01下的models.py中寫類

它操作的對應關係是:

ORM 物件關係對映
類 表
物件 記錄
屬性 欄位

在app01的modles.py裡面寫入,建立類

from django.db import models
# Create your models here.
class Book(models.Model):
  # 定義一個自增的id主鍵
  id = models.AutoField(primary_key=True)
  # 定義一個最大長度為32的varchar欄位
  title = models.CharField(max_length=32)

在terminal上面執行下面兩條命令

python manage.py makemigrations #檢測app/models.py檔案的改動
python manage.py migrate     #把上面的改動翻譯成sql語句,然後去資料庫中執行


好了,我們登陸mysql檢視結果

mysql> show tables;
+----------------------------+
| Tables_in_s22       |
+----------------------------+
| app01_book         |
| auth_group         |
| auth_group_permissions   |
| auth_permission      |
| auth_user         |
| auth_user_groups      |
| auth_user_user_permissions |
| django_admin_log      |
| django_content_type    |
| django_migrations     |
| django_session       |
+----------------------------+
11 rows in set (0.00 sec)

如果要刪除app01_book表,modles.py裡面的相關聯東西就可以了,之後執行

models.py

#class Book(models.Model):
#   # 定義一個自增的id主鍵
#   id = models.AutoField(primary_key=True)
#   # 定義一個最大長度為32的varchar欄位
#   title = models.CharField(max_length=32)

接著執行

python manage.py makemigrations
python manage.py migrate

在 app01的migrations下面放的是改動的記錄,不能登陸到資料庫上面直接操作,否則這些記錄會變亂

如果想在pycharm裡面直觀的操作如下圖

1 點選側欄的 database
2 點選+ 選擇mysql
3 點選download下載相關的驅動
4 庫 5 使用者名稱 6 密碼 ---》點選test connection測試資料庫的連通性

具體操作如下

說明:
1 點選要操作的表
2 點選+ 表示要加入記錄,- 表示刪除
3 點選 ⬆同步道資料庫
4 重新整理,檢視新的記錄

總結:diango操作mysql資料庫的準備工作

1 用sql語句建個數據庫,也就是命令登陸MySQL 使用create s22

2 告訴django去哪裡連線資料庫 在settIngs.py中設定

3 告訴django使用pymysql連線MySQL資料庫 project/__init__.py

4 在app/models.py檔案中,根據語法,建立類

5執行兩個命令:makemigrations migrate

希望本文所述對大家基於Django框架的Python程式設計有所幫助。