djagno中mysql的安裝和model的簡單使用

以下內(nèi)容都是基于python3.x 版本!

mysql的安裝

官網(wǎng)下載: https://downloads.mysql.com/archives/community/
一定要下載社區(qū)版读恃。鹉胖。

Windows下 5.x版本的mysql安裝方式(免安裝包的安裝)

  1. 解壓
    解壓下載后的文件,拷貝到任意目錄望门,盡量不要帶有中文
    例如: D:\SDK\mysql-5.7.31-winx64
  2. 添加配置文件
    進入sql文件夾的根目錄,添加文件锰霜,名為 mysql.ini筹误,內(nèi)容如下
[mysqld]
# 端口號
port=3306

# sql的路徑
basedir=D:\\SDK\\mysql-5.7.31-winx64

# 數(shù)據(jù)庫數(shù)據(jù)的存儲路徑,可以隨意更改
datadir=D:\\datas\\sql_datas\\mysql5.7.31_datas
  1. 執(zhí)行數(shù)據(jù)庫初始化
    執(zhí)行如下命令癣缅, cmd厨剪,并使用管理員運行
    注意:是mysqld.exe 不是 mysql.exe
"D:\SDK\mysql-5.7.31-winx64\bin\mysqld.exe" --initialize-insecure

注意:報 msvcr120.dll 丟失的話友存,

  • 請到Microsoft Visual C ++可再發(fā)行組件包下載網(wǎng)站下載 vc_redist.x64.exe或vc_redist.x84.exe
  • 或者百度下載 微軟組合包
  1. 執(zhí)行服務祷膳,把mysql添加到系統(tǒng)服務
    mysql57 是服務名,可以隨意命名屡立。 注意:該名稱就是以后啟動或停止的服務名
"D:\SDK\mysql-5.7.31-winx64\bin\mysqld.exe" --install mysql57
  1. 啟動服務 和 停止服務
net start mysql57
net stop mysql57

為了方便直晨,一般會將mysql 添加到環(huán)境變量

將bin目錄的完整路徑添加到環(huán)境變量

# 測試連接
mysql -h 127.0.0.1 -p 3306 -u root -p

如果是本地的話,可直接

mysql -u root -p

記得啟動服務侠驯。

其他

  • 設(shè)置密碼
    如果沒有設(shè)置密碼抡秆。可以在登陸mysql成功后吟策,
set password = password("密碼");
  • 查看已有文件夾(數(shù)據(jù)庫)
show databases;
  • 修改密碼(忘記密碼)
    1. 首先要停止 mysql 服務儒士;
    2. 修改Mysql配置,重新啟動mysql(無賬號模式)檩坚,重新 set 密碼着撩;
    3. 找到 配置 文件(上面添加的mysql.ini 文件)诅福,添加下面配置
[mysqld]
port=3306
basedir=D:\\SDK\\mysql-5.7.31-winx64
datadir=D:\\datas\\sql_datas\\mysql5.7.31_datas
# 添加下面的內(nèi)容
skip-grant-tables=1

4.保存,重新啟動 mysql 服務 拖叙, 以無密碼的方式登錄 mysql氓润;

# 先執(zhí)行
use mysql;
#再執(zhí)行
update user set authentication_string = password("新密碼"),password_last_changed=now() where user='root';
  1. 退出mysql薯鳍,停止服務咖气。
  2. 再次修改 mysql.ini 文件, 刪除下面的內(nèi)容
# 刪除下面的內(nèi)容
skip-grant-tables=1

重新啟動mysql服務挖滤, 正常登錄 ok崩溪。。斩松。

-------------------------------------fenge yixia --------------------------------------------------

python 使用mysql數(shù)據(jù)庫的分兩個版本

  • MySQLdb : 2.x 的python版本伶唯;
  • PyMySQL :3.x 的python 版本;

Python-MySQL資格最老惧盹,核心由C語言打造乳幸,接口精煉,性能最棒钧椰,缺點是環(huán)境依賴較多粹断,安裝復雜,近兩年已停止更新嫡霞,只支持Python2姿染,不支持Python3。
PyMySQL為替代Python-MySQL而生秒际,純python打造,接口與Python-MySQL兼容狡汉,安裝方便娄徊,支持Python3。

mysql的配置

models是用來跟數(shù)據(jù)庫綁定的對象
下面以mysql為例說明:

  • 配置參數(shù)
    把庫 和 數(shù)據(jù)庫連接的相關(guān)參數(shù)(賬戶盾戴,密碼寄锐,端口等)配置到 setting.py 里
    連接的優(yōu)先級:
    1、OPTIONS ( 最高)
    2尖啡、NAME橄仆、USER、PASSWORD衅斩、HOST盆顾、PORT
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dj_demo02',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '3306',

        # 使用options 的優(yōu)先級會高于用 NAME、USER 等字段
        'OPTIONS': {
            'read_default_file': BASE_DIR / 'my.cnf',
        },
    }
}

my.cnf 寫法

# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

model 使用說明

  • 創(chuàng)建model
    所有model類都需要繼承自 models.Model
class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    size = models.IntegerField()
    # 帶默認值
    age = models.IntegerField(default=1)
    # 允許為空
    data = models.IntegerField(null=True, blank=True)

  • 首先畏梆,要創(chuàng)建數(shù)據(jù)庫
    因為django無法創(chuàng)建庫您宪,所以必須手動自己創(chuàng)建庫(以mysql)奈懒; 注意:編碼是 utf8 不是 utf-8
create database 數(shù)據(jù)庫名稱 default charset=utf8;
  • 根據(jù)model生成庫表
    注意:TestModel 不寫的話,會生成全部model 對應的表(包括系統(tǒng)自帶的)宪巨。指定的話磷杏,只生成指定的model的表;
$ python manage.py makemigrations TestModel  # 讓 Django 知道我們在我們的模型有一些變更
$ python manage.py migrate TestModel   # 創(chuàng)建表結(jié)構(gòu)

控制臺看到幾行 "Creating table…" 的字樣捏卓,你的數(shù)據(jù)表就創(chuàng)建好了极祸。
注意:Django 會自動添加一個 id 作為主鍵。

其他注意:
安裝pymysql

pip install pymysql

安裝 mysqlclient

pip install mysqlclient

使用model創(chuàng)建表的時候怠晴,要做一下配置遥金。在init.py下添加如下內(nèi)容( setting.py 同級目錄下)

import pymysql
pymysql.install_as_MySQLdb()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市龄寞,隨后出現(xiàn)的幾起案子汰规,更是在濱河造成了極大的恐慌,老刑警劉巖物邑,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溜哮,死亡現(xiàn)場離奇詭異,居然都是意外死亡色解,警方通過查閱死者的電腦和手機茂嗓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來科阎,“玉大人述吸,你說我怎么就攤上這事÷啾浚” “怎么了蝌矛?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長错英。 經(jīng)常有香客問我入撒,道長,這世上最難降的妖魔是什么椭岩? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任茅逮,我火速辦了婚禮,結(jié)果婚禮上判哥,老公的妹妹穿的比我還像新娘献雅。我一直安慰自己,他們只是感情好塌计,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布挺身。 她就那樣靜靜地躺著,像睡著了一般锌仅。 火紅的嫁衣襯著肌膚如雪瞒渠。 梳的紋絲不亂的頭發(fā)上良蒸,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音伍玖,去河邊找鬼嫩痰。 笑死,一個胖子當著我的面吹牛窍箍,可吹牛的內(nèi)容都是我干的串纺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼椰棘,長吁一口氣:“原來是場噩夢啊……” “哼纺棺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起邪狞,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤祷蝌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帆卓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巨朦,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年剑令,在試婚紗的時候發(fā)現(xiàn)自己被綠了糊啡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吁津,死狀恐怖棚蓄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碍脏,我是刑警寧澤梭依,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站典尾,受9級特大地震影響睛挚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜急黎,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侧到。 院中可真熱鬧勃教,春花似錦、人聲如沸匠抗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汞贸。三九已至绳军,卻和暖如春印机,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背门驾。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工射赛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奶是。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓楣责,卻偏偏與公主長得像,于是被迫代替她去往敵國和親聂沙。 傳聞我的和親對象是個殘疾皇子秆麸,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容