mysql 連線 django
版本:
django:1.11.9
python3
mysql 5.7.18
在這裡我們認為你已經安裝好了mysql,python ,django
下面是來自django官方教程的一段話
If you wish to use another database, install the appropriate database bindings
and change the following keys in theDATABASES
'default'
item to match your database connection settings:
first
你需要一個Python的db API DRIVER 即資料庫介面驅動
常見的有mysqldb、pymysql、mysqlclient
- MySQLdb is a native driver that has been developed and supported for over a decade by Andy Dustman.
- mysqlclient is a fork of
MySQLdb
which notably supports Python 3 and can be used as a drop-in replacement for MySQLdb. At the time of this writing, this is the recommended choice - MySQL Connector/Python is a pure Python driver from Oracle that does not require the MySQL client library or any Python modules outside the standard library.
但是MYSQLdb不支援python3 ,
In addition to a DB API driver, Django needs an adapter to access the database drivers from its ORM.
Django provides an adapter for MySQLdb/mysqlclient while MySQL Connector/Python includes its own.
上面的意思是不僅需要介面驅動,還需要介面卡,django已經為MYSQLdb和mysqlclient提供了介面卡,MySQL Connector/Python內建這個介面卡
雖然我有一個pymysql ,但按照官網的推薦我還是下載了一個mysqlclient
>>pip install mysqlclient
建立一個數據庫
開啟mysql,type:
CREATE DATABASE database_name CHARACTER SET UTF8; 指定資料庫的編碼utf8
Now ,我們已經有了db API DRIVER 和建立好的資料庫,開始第二步
second
改變配置檔案
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysite', 'HOST':'', 'PORT':'3306', 'USER':'root', 'PASSWORD':'123', } }
NAME 是你建立的資料庫名字
HOST 主機
PORT 埠
USER 使用者名稱 這個使用者的許可權應是能建立資料表的或者資料庫,忘了。。
PASSWORD 登入mysql的密碼
還有其他選項
third
現在我們可以建立一些模型去加到資料庫裡了
例如像下面
from django.db import models # Create your models here. class Publisher(models.Model): pub_name=models.CharField(max_length=200) city=models.CharField(max_length=200) class Book(models.Model): book_name = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') publish = models.ForeignKey(Publisher, on_delete=models.CASCADE)View Code
calss 定義的類名將會是資料庫對應的表名,屬性對應欄位,不過表明有所偏差,假如你的應用名是blog ,class名是Book, 建立的表則是blog_book 資料庫不區分大小寫
note:
在配置檔案settings.py 修改
INSTALLED_APPS = [ 'blog.apps.BlogConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]View Code
將我們寫的應用新增進去,
'blog.apps.BlogConfig', 紅色部分是我們應用app.py檔案中的類名。
last
切換到專案的目錄下
like
執行以下幾條命令
python manage.py makemigrations
以上是提示錯誤,表示在Publisher 這個類的屬性不能是book,所以起名字要注意
改完欄位之後
OK
你可以使用
Python manage.py sqlmigrate 應用名 0001
去檢視下,這條命令不會做任何操作,只是檢視
python manage.py migrate
建立完成,再開啟mysql,切到資料庫你會看到
總結:
django 為我們內建的資料庫是sqlite ,但是真正生產時是需要mysql, 等大型資料庫的,
好像使用MYSQL,只需要兩步
- 安裝databases bindings
- 更改配置檔案
相關推薦
mysql 連線 django
版本: django:1.11.9 python3 mysql 5.7.18 在這裡我們認為你已經安裝好了mysql,python ,django 下面是來自django官方教程的一段話 If you wish to use another database, install the appropriate
django mysql連線
django配置mysql資料庫手動建立 # 'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.mysql', #改成my
django mysql 連線查詢join
假設有AppInfo 模型: class AppInfo(models.Model): platform = models.CharField("平臺",max_length=20,choices=APP_PLATFORMS); category = mod
Linux下安裝Python3的django並配置mysql作為django默認數據庫(轉載)
make lba del log pri ica www src rim 我的操作系統為centos6.5 1 首先選擇django要使用什麽數據庫。django1.10默認數據庫為sqlite3,本人想使用mysql數據庫,但為了測試方便順便要安裝一下sqlite開發
連線mysql資料庫連線報錯,是pom檔案配置mysql連線驅動版本號問題
前一段時間安裝了最新的mysql 8.0.11,然後啟動一個專案的時候報錯資訊如下: [ERROR] 2018-08-14 17:28:21,246 method:com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:6
MAC 安裝mysql 連線驅動ODBC
step 1: 安裝odbc manager, 不裝第二步會報錯 下載地址: http://www.odbcmanager.net/ step 2: 安裝mysql odbc connector 用dpkg格式的吧, 原始碼沒有.configure檔案不知道咋編譯 下載地址: 
apache guacamole 使用mysql 連線
1.建立一個臨時資料夾,用來存放mysql-java聯結器 mkdir tempauth 2.下載相關檔案 cd tempauth wget https://jaist.dl.sourceforge.net/project/guacamole/current/extensio
Golang, MySQL連線不設定時區的問題
package main import ("fmt""github.com/go-xorm/xorm"_ "github.com/jinzhu/gorm/dialects/mysql""time") func main(){engine, err := xorm.NewEngine("mysql", "r
JDBC : java和MySQL連線
前言 JDBC(Java Data Base Connectivity, java資料庫連線)是一種用於執行SQL語句的Java API,由一組用Java語言編寫的類和介面組成, 可以為多種關係資料庫提供統一訪問. SUN公司榮譽出品. —話不多說,直接搞起— – (
mysql連線url中useUnicode=true&characterEncoding=UTF-8的作用
我們在連線mysql資料庫的時候一般都會在url後面新增useUnicode=true&characterEncoding=UTF-8 ,但是問什麼要新增呢? 新增的作用是:指定字元的編碼、解碼格式。 例如:mysql資料庫用的是gbk編碼,而專案資料庫用的是utf-8編碼。
MySQL 連線程式碼筆記
MySQL inner join mysql> select * from testA; +-------+--------+ | class | action | +-------+--------+ | 1 | 並 | | 2 | 交 | |
MySQL連線、登入、密碼等
官方教程:https://dev.mysql.com/doc/refman/8.0/en/ 連結資料庫,通過指定 -h 引數可以連線網路上的資料庫 mysql -u 使用者名稱 -h 伺服器IP -P 埠 -p 密碼 mysql -u leon -h 192.168.100.123 -P 3306
將web應用和mysql都部署到linux下,web應用通過jdbc就無法獲取到mysql連線。
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested
解決mysql連線10038和ftp出現timeout
首先,各位,一定要清楚的知道自己有沒有在雲伺服器上開放這個埠,一定要測試!一定要測試!一定要測試!!! DOS命令一下 :telnet IPaddress port 連線不上?非常好,證明沒開放這個埠,這個時候問下給你這個伺服器的運維或
RHEL\CentOS 7 下 MySQL 連線數被限制
問題 專案中,由於連線數過多,提示“Too many connections”,需要增加連線數。我在 /etc/my.cnf中修改了 max_connections = 2000 但是, 實際連線數一直被限制在 214 mysql>
mysql連線超時wait_timeout設定
通過下面命令可以檢視mysql的超時時間 show global variables like 'wait_timeout'; 其預設值為8小時,超過這個時間,mysql會自動斷開該連線。 有兩種方法可以修改該值 1、命令修改 set global wait_timeout=2880
Mysql-連線池
#pragma once #include <deque> #include <mutex> #include <boost/thread/thread.hpp> #include <boost/thread/tss.hpp> #include &l
mysql連線異常-CommunicationException
今天遇到上圖的異常。 原因:mysql連線在超過空閒連線超時時間後被斷開,此時程式不知道該連線已經斷開,繼續使用就會報上圖的錯。 解決辦法:一般情況下很少出現這種錯誤。解決方法有多種,可以從資料庫層面解決:將過期時間設定成很大,不讓連線超時;也可以從程式層面解決,在使用連線前校驗有效性。
close掉一個失效的MySQL連線導致的程式崩潰
這在沒有連結池控制的應用中十分常見,而我正好在做和MySQL相關的開發工作,在一般的工具類應用中,並沒有使用連結池進行連線的管理,而是直接使用MySQL提供的C API進行操作。而這給我的程式帶來過很多麻煩 比如程式碼如下 int main() { MYSQL *conn
關於Navicat fro Mysql 連線虛擬機器(Ubuntu)中的mysql問題記錄
在Mysql安裝中,預設的有root使用者,但是root使用者的預設連線Host也是localhost或者127.0.0.1,也就是限制了root使用者作為本地連線使用;我個人來說,建立新賬戶也是安全性和更加方便。 檢視資料庫 show database