Python后端---使用Django+Mysql搭建一个简单的网站
提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、項(xiàng)目搭建
- 前期準(zhǔn)備
- 命令行創(chuàng)建項(xiàng)目和app
- Django項(xiàng)目配置文件說(shuō)明
- 使用數(shù)據(jù)庫(kù)
- 編寫業(yè)務(wù)邏輯
- 配置url主路由
- 運(yùn)行server并訪問(wèn)
- app內(nèi)部的獨(dú)立文件
- 困擾我的MySQL數(shù)據(jù)庫(kù)的配置問(wèn)題
- 安裝MySQL服務(wù)
- MySQL創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建數(shù)據(jù)表
- 總結(jié)
前言
提示:最近在學(xué)習(xí)Django,搭建一個(gè)簡(jiǎn)單的“HelloWord”網(wǎng)頁(yè),搭建過(guò)程中遇到了很多問(wèn)題,記憶力不好,所以寫一個(gè)博客歸納總結(jié)一下,問(wèn)題主要包括Django項(xiàng)目的創(chuàng)建、部署、配置MySQL數(shù)據(jù)庫(kù)等問(wèn)題以及相關(guān)Django、mysql的命令行操作指令匯總,方便知識(shí)點(diǎn)復(fù)盤。如果你也是Django新手入門,希望你能從本篇文章有所收獲。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、項(xiàng)目搭建
前期準(zhǔn)備
1、python3.7
2、專業(yè)版Pycharm IDE
3、安裝Django模塊
4、安裝MySQL數(shù)據(jù)庫(kù)服務(wù)
說(shuō)明一下,社區(qū)版本的pycharm適合純python開發(fā),用于教學(xué),而專業(yè)版更適合用于企業(yè)項(xiàng)目開發(fā),專業(yè)版,功能豐富,例如:Web開發(fā),Python Web框架,Python的探查,遠(yuǎn)程開發(fā)能力,數(shù)據(jù)庫(kù)和SQL支持,對(duì)開發(fā)者來(lái)說(shuō)十分棒,十分專業(yè)的開發(fā)工具。另外,為什么要配置MySQL數(shù)據(jù)庫(kù)呢?因?yàn)镈jango 中使用默認(rèn)的 SQLite3 數(shù)據(jù)庫(kù)的話(反正我覺(jué)得非常不好用)可以進(jìn)行改寫,而且在實(shí)際生產(chǎn)環(huán)境,Django是不可能使用SQLite這種輕量級(jí)的基于文件的數(shù)據(jù)庫(kù)作為生產(chǎn)數(shù)據(jù)庫(kù)。一般較多的會(huì)選擇MySQL。
我們打開pycharm新建一個(gè)Django工程(也可以直接在terminal下用指令django-admin startproject xxx創(chuàng)建)
目前,我使用Pycharm創(chuàng)建項(xiàng)目的App時(shí)候會(huì)報(bào)錯(cuò)!問(wèn)題目前還沒(méi)有解決,但是可以使用命令行 python manage.py startapp App名稱 創(chuàng)建App文件夾。
錯(cuò)誤如下:
建好后會(huì)自動(dòng)生成一個(gè)目錄框架。那么來(lái)了解下這個(gè)框架里文件的作用。
命令行創(chuàng)建項(xiàng)目和app
#創(chuàng)建demo1的項(xiàng)目 D:\django>django-admin startproject demo1 D:\django>cd demo1 #創(chuàng)建app1的APP D:\django\demo1>python manage.py startapp app1 cd app1 #創(chuàng)建templates(模板目錄)和static(靜態(tài)文件目錄) mkdir templates mkdir staticcd static #創(chuàng)建css、js、images、files、plugins分別用來(lái)存放css樣式文件、JavaScript文件、圖片文件、文本文件、插件 mkdir css mkdir js mkdir images mkdir files mkdir pluginsDjango項(xiàng)目配置文件說(shuō)明
二級(jí)子目錄 BookStore 下的文件稱為 Django 項(xiàng)目的配置文件, 它們?cè)趧?chuàng)建項(xiàng)目的時(shí)候自動(dòng)生成。下面我們對(duì)上述涉及到的文件進(jìn)行詳細(xì)的說(shuō)明:
1) manage.py文件
一級(jí)子目錄中的 manage.py 文件是管理 Django 項(xiàng)目的重要命令行工具,它主要用于啟動(dòng)項(xiàng)目、創(chuàng)建應(yīng)用和完成數(shù)據(jù)庫(kù)的遷移等。
2) init.py文件
二級(jí)子目錄中的 init.py 文件用于標(biāo)識(shí)當(dāng)前所在的目錄是一個(gè) Python 包,如果在此文件中,通過(guò) import 導(dǎo)入其他方法或者包會(huì)被 Django 自動(dòng)識(shí)別。
3) settings.py文件
settings.py 文件是 Django 項(xiàng)目的重要配置文件。項(xiàng)目啟動(dòng)時(shí),settings.py 配置文件會(huì)被自動(dòng)調(diào)用,而它定義的一些全局為 Django 運(yùn)行提供參數(shù),在此配置文件中也可以自定義一些變量,用于全局作用域的數(shù)據(jù)傳遞。
4) urls.py文件
url.py 文件用于記錄 Django 項(xiàng)目的 URL 映射關(guān)系,它屬于項(xiàng)目的基礎(chǔ)路由配置文件,路由系統(tǒng)就是在這個(gè)文件中完成相應(yīng)配置的,項(xiàng)目中的動(dòng)態(tài)路徑必須先經(jīng)過(guò)該文件匹配,才能實(shí)現(xiàn) Web 站點(diǎn)上資源的訪問(wèn)功能。
5) wsgi.py文件
wsgi.py 是 WSGI(Web Server Gateway Interface)服務(wù)器程序的入口文件,主要用于啟動(dòng)應(yīng)用程序。它遵守 WSGI 協(xié)議并負(fù)責(zé)網(wǎng)絡(luò)通訊部分的實(shí)現(xiàn),只有在項(xiàng)目部署的時(shí)候才會(huì)用到它。
配置app_01和mysql數(shù)據(jù)庫(kù)
untitled/untitled/settings.py文件中修改:
在 settings.py 文件 INSTALLD_APPS 列表中注冊(cè)app
INSTALLED_APPS=[
‘應(yīng)用命名’.apps.應(yīng)用名稱Config
或者
‘應(yīng)用名稱’(不推薦使用)。
]
在修改settings.py同級(jí)的__init__.py文件:
#告訴Django用pymysql來(lái)連接數(shù)據(jù)庫(kù) import pymysql pymysql.install_as_MySQLdb()注意:把sqlite3數(shù)據(jù)庫(kù)修改為mysql數(shù)據(jù)庫(kù)一定到在setting.py目錄下的initial.py文件下添加如上代碼
使用數(shù)據(jù)庫(kù)
demo1/app_01/models.py文件中:
#一個(gè)類代表這一個(gè)表 class test(models.Model):#在表中添加name字段name = models.CharField(max_length = 20)在cmd或者終端中輸入命令:
# 讓 Django 知道我們?cè)谖覀兊哪P陀幸恍┳兏?/span> #生成遷移,生成sql腳本 python manage.py makemigrations# 創(chuàng)建表結(jié)構(gòu) #執(zhí)行遷移,根據(jù)遷移文件創(chuàng)建表 python manage.py migrate #創(chuàng)建表示會(huì)加上app的名稱,如果表里沒(méi)用主鍵Django會(huì)自動(dòng)創(chuàng)建id的主鍵##可以增加的操作 創(chuàng)建超級(jí)管理員
在命令行窗口輸入:python manage.py createsuperuser
注意:在創(chuàng)建超級(jí)管理員之前,你還得現(xiàn)在數(shù)據(jù)庫(kù)創(chuàng)建一下基本的表,否則超級(jí)管理員也無(wú)法創(chuàng)建,需要運(yùn)行: python manage.py migrate
編寫業(yè)務(wù)邏輯
新建成功工程后views.py文件里是空的,需要自己編寫業(yè)務(wù)邏輯
from django.shortcuts import HttpResponse # 導(dǎo)入HttpResponse模塊def hello(request): # request是必須帶的實(shí)例。類似class下方法必須帶self一樣return HttpResponse("Hello Django!!") # 通過(guò)HttpResponse模塊直接返回字符串到前端頁(yè)面配置url主路由
from django.contrib import admin from django.urls import path from app_01 import viewsurlpatterns = [path('',views.hello,name='hello'),path('admin/',admin.site.urls),]運(yùn)行server并訪問(wèn)
terminal下執(zhí)行 python manage.py runserver 這樣執(zhí)行默認(rèn)的路徑是127.0.0.1:8080
指定端口或地址就再后面寫上,如:python manage.py runserver 127.0.0.1:8888
然后瀏覽器訪問(wèn)http://127.0.0.1:8888
app內(nèi)部的獨(dú)立文件
主路由與子路由
1.子路由(獨(dú)立路由)
獨(dú)立路由(子路由):將每個(gè)應(yīng)用中的路由系統(tǒng)寫自己的app應(yīng)用的urls.py 文件中(需要自己創(chuàng)建)。
之前我們將所有的路由都放到了主urls當(dāng)中,django支持我們?cè)诿總€(gè)app應(yīng)用中編寫自己的子路由(url)
(1)、編寫自己的子路由
(2)主路由包含子路由
首先導(dǎo)入from django.urls import include
使用 path(‘一般是應(yīng)用名稱’ ,include(‘應(yīng)用名稱.urls’))
主路由中一般放共用的路由系統(tǒng)。
(3)訪問(wèn)路徑時(shí),主路徑+子路徑
困擾我的MySQL數(shù)據(jù)庫(kù)的配置問(wèn)題
由于Django中是默認(rèn)使用SQLite數(shù)據(jù)庫(kù)的,在settings.py文件中的默認(rèn)配置如下:
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),} }但是,我需要配置數(shù)據(jù)庫(kù)為mysql,該怎么辦呢?
創(chuàng)建mysql數(shù)據(jù)庫(kù)
1、檢查本機(jī)是否安裝Mysql
ctrl+r 快捷鍵打開cmd
輸入 services.msc
查看服務(wù)列表中有無(wú)mysql服務(wù)
如果有服務(wù),那就代表已經(jīng)安裝了。如果沒(méi)安裝,請(qǐng)參考安裝mysql鏈接:
https://www.cnblogs.com/zhangkanghui/p/9613844.html
安裝MySQL服務(wù)
安裝包地址:https://dev.mysql.com/downloads/mysql/
下載完成后,選擇一個(gè)磁盤內(nèi)放置并解壓。
2020年2月14日,mysql官網(wǎng)進(jìn)不去了,好吧那就來(lái)個(gè)鏡像,總沒(méi)問(wèn)題了,如果官網(wǎng)龜速下載,建議使用下面的鏡像巨快
Mysql國(guó)內(nèi)鏡像:http://mirrors.sohu.com/mysql/MySQL-8.0/
安裝教程
1. 配置環(huán)境變量
變量名:MYSQL_HOME
變量值:E:\mysql-5.7.20-winx64
2. 生成data文件
以管理員身份運(yùn)行cmd
進(jìn)入E:\python\mysql\mysql-8.0.12-winx64\bin>下
執(zhí)行命令:mysqld --initialize-insecure --user=mysql 在E:\python\mysql\mysql-8.0.12-winx64\bin目錄下生成data目錄
3. 安裝MySQL
繼續(xù)執(zhí)行命令:mysqld -install
4. 啟動(dòng)服務(wù)
繼續(xù)執(zhí)行命令:net start MySQL
5. 登錄MySQL
登錄mysql:(因?yàn)橹皼](méi)設(shè)置密碼,所以密碼為空,不用輸入密碼,直接回車即可)
E:\python\mysql\mysql-8.0.12-winx64\bin>mysql -u root -p
6. 查詢用戶密碼
查詢用戶密碼命令:mysql> select host,user,authentication_string from mysql.user;
7. 設(shè)置(或修改)root用戶密碼
mysql> use mysql
提別注意:下面這個(gè)修改密碼的方式不正確,可能是因?yàn)榘姹締?wèn)題。最近解決了。
mysql> update mysql.user set authentication_string=(“123456”) where user=“root”;
解決方案如下:
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
mysql> flush privileges;
#作用:相當(dāng)于保存,執(zhí)行此命令后,設(shè)置才生效,若不執(zhí)行,還是之前的密碼不變
8. 退出
mysql> quit
Bye
9. 再次登錄
解決問(wèn)題!!!
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
關(guān)于修改密碼再次登錄出現(xiàn)ERROR的解決方案:
首先問(wèn)題出現(xiàn)的原因在于可能是因?yàn)榘姹静煌?#xff0c;命令有所差異。個(gè)人認(rèn)為,其實(shí)無(wú)所謂了,最終問(wèn)題解決了就是了。
如果你是按照上面的完整教程安裝出現(xiàn)這種問(wèn)題的解決方案:
1、所有東西都刪除,然后重裝,按照上面教程再來(lái)一遍;部分內(nèi)容有更正。特別注意!
2、如果你之前裝了,報(bào)錯(cuò)之后就一直放在那里,現(xiàn)在請(qǐng)嚴(yán)格按照下面步驟進(jìn)行:
a. 打開cmd,切換到mysql的bin目錄下,輸入命令 net stop mysql,停止mysql服務(wù);
b. 打開mysql的安裝目錄,找到data文件夾,將其刪除!
c. 回到cmd命令窗口,輸入mysqld -remove
d. 接下來(lái)按照上面教程,從第二步生成data文件開始執(zhí)行,一定要注意修改密碼那里:
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
然后就可以愉快使用密碼登錄mysql了。
確保有安裝mysql之后,我們就來(lái)創(chuàng)建數(shù)據(jù)庫(kù):
1、ctrl+r 快捷鍵,打開運(yùn)行窗口,輸入cmd,點(diǎn)擊確定
2、命令行里輸入:
mysql -uroot -p123456
create database proName
mysql -uroot -p123456 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),用戶名為root,密碼為123456
proName 為表名
另外可以使用 create database 數(shù)據(jù)庫(kù)名; 創(chuàng)建數(shù)據(jù)庫(kù)。
create database MyDB_one;3、如果想在命令行里執(zhí)行 mysql命令(非必須,根據(jù)自己需要),則需要配置環(huán)境變量
我的電腦–》屬性—》高級(jí)系統(tǒng)設(shè)置–》環(huán)境變量–》新建環(huán)境變量
變量名:MYSQL_HOME
變量值:E:\soft\after\mysql-8.0.18-winx64\ (此為你mysql的安裝路徑。可從服務(wù)的屬性里查看)
配置setting 文件
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',# 'NAME': os.path.join(BASE_DIR, 'db.mysql'),'NAME': 'proName','USER': 'root','PASSWORD': '123456','HOST': '127.0.0.1','PORT': '3306',} }###這樣的方法有一個(gè)弊端就是你的數(shù)據(jù)庫(kù)和密碼都暴露出來(lái)了,有很大的安全隱患,所以建議大家用下面的這種方法,提前配置好用戶名和密碼。
首先,在終端打開配置的文件:sudo vim ~/.bashrc
在文件的末尾加上兩行:export DATABASE_PWD = 用戶密碼
接著,我們?cè)谌ettings.py文件中導(dǎo)入一個(gè)包:from os import environ
最后,在我們配置數(shù)據(jù)的位置,配置數(shù)據(jù),只是這次可以把用戶名和密碼用其他方式代替。
至此,就完成了配置
使用pymysql模塊連接mysql數(shù)據(jù)庫(kù)
python環(huán)境默認(rèn)模塊MySQLdb只適用于python2.x,pip裝不上。它在python3版本的替代品是pymysql:import pymysql
即 Python3不支持MySQLdb,可用pymysql代替
因此:
將Django默認(rèn)使用MySQLdb連接數(shù)據(jù)庫(kù) 更改為 使用pymysql連接數(shù)據(jù)庫(kù)
習(xí)慣在與項(xiàng)目同名的文件夾下的 init.py 文件中添加
import pymysql pymysql.install_as_MySQLdb()安裝命令僅供參考:
pip install mysqlclient
pip install pymysql (如果使用python3.x版本時(shí),用pymysql替換MySQLdb,或者用mysqlclient替換MySQLdb。)
Python3.x版本:Pip install mysqlclient
Python2.x 版本:pip install mysql-python
配置完成,以下步驟為數(shù)據(jù)遷移
在app下的models.py下寫model
ORM是通過(guò)使用描述對(duì)象和數(shù)據(jù)庫(kù)之間映射的元數(shù)據(jù),將程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)庫(kù)中
體現(xiàn)在django中就是在models.py中,書寫類,創(chuàng)建表數(shù)據(jù)
對(duì)應(yīng)關(guān)系如下:
類 —》 表
對(duì)象 —》 數(shù)據(jù)行(記錄)
屬性 —》 字段
參考鏈接:
https://www.cnblogs.com/maple-shaw/articles/9323320.html
執(zhí)行數(shù)據(jù)庫(kù)遷移的命令
python manage.py makemigrations #為改動(dòng)創(chuàng)建遷移記錄; python manage.py migrate #將操作同步到數(shù)據(jù)庫(kù)。MySQL創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建數(shù)據(jù)表
MySQL 創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建數(shù)據(jù)表
MySQL 是最常用的數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)操作中,基本都是增刪改查操作,簡(jiǎn)稱CRUD。
在這之前,需要先安裝好 MySQL ,然后創(chuàng)建好數(shù)據(jù)庫(kù)、數(shù)據(jù)表、操作用戶。
一、數(shù)據(jù)庫(kù)操作語(yǔ)言
數(shù)據(jù)庫(kù)在操作時(shí),需要使用專門的數(shù)據(jù)庫(kù)操作規(guī)則和語(yǔ)法,這個(gè)語(yǔ)法就是 SQL(Structured Query Language) 結(jié)構(gòu)化查詢語(yǔ)言。
SQL 的主要功能是和數(shù)據(jù)庫(kù)建立連接,進(jìn)行增刪改查的操作。SQL是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語(yǔ)言。
SQL 語(yǔ)言的作用:
數(shù)據(jù)定義語(yǔ)言 DDL(Data Definition Language) 。用于創(chuàng)建數(shù)據(jù)庫(kù),數(shù)據(jù)表。
數(shù)據(jù)操作語(yǔ)言 DML(Data Manipulation Language) 。用于從數(shù)據(jù)表中插入、修改、刪除數(shù)據(jù)。
數(shù)據(jù)查詢語(yǔ)言 DQL(Data Query Language) 。用于從數(shù)據(jù)表中查詢數(shù)據(jù)。
數(shù)據(jù)控制語(yǔ)言 DCL(Data Control Language) 。用來(lái)設(shè)置或修改數(shù)據(jù)庫(kù)用戶或角色的權(quán)限。
使用 SQL 操作數(shù)據(jù)庫(kù)時(shí),所有的 SQL 語(yǔ)句都以分號(hào)結(jié)束。(切換數(shù)據(jù)庫(kù)時(shí)可以不用分號(hào))
在 SQL 語(yǔ)句中,不區(qū)分大小寫,編寫 SQL 語(yǔ)句時(shí)可以根據(jù)情況用大小寫的區(qū)別來(lái)增加可讀性。
二、創(chuàng)建數(shù)據(jù)庫(kù)
輸入 mysql -u root -p 命令,回車,然后輸入 MySQL 的密碼(不要忘記了密碼),再回車,就連接上 MySQL 了。
mysql -u root -p最初,都是使用 root 用戶登錄,工作中如果一直用 root 用戶登錄,因?yàn)闄?quán)限太大,風(fēng)險(xiǎn)是很大的,所以等創(chuàng)建好權(quán)限適合的用戶后,就不要經(jīng)常登錄 root 用戶了。
使用 show databases; 查看當(dāng)前安裝的 MySQL 中有哪些數(shù)據(jù)庫(kù)。
show databases;
剛安裝 MySQL 時(shí),默認(rèn)有四個(gè)數(shù)據(jù)庫(kù),information_schema,mysql,perfomance_schema,sys 。通常情況下,我們不會(huì)直接使用這四個(gè)數(shù)據(jù)庫(kù),但千萬(wàn)不要把這四個(gè)數(shù)據(jù)庫(kù)刪了,否則會(huì)帶來(lái)很多不必要的麻煩。如果不小心刪了,建議是重新安裝 MySQL ,在重裝之前把自己的數(shù)據(jù)遷移出來(lái)備份好,或者從其他服務(wù)器上遷移一個(gè)相同的數(shù)據(jù)庫(kù)過(guò)來(lái)。
使用 create database 數(shù)據(jù)庫(kù)名; 創(chuàng)建數(shù)據(jù)庫(kù)。
create database MyDB_one;
創(chuàng)建數(shù)據(jù)庫(kù)成功后,數(shù)據(jù)庫(kù)的數(shù)量變成了5個(gè),多了剛才創(chuàng)建的 MyDB_one 。
使用 create database 數(shù)據(jù)庫(kù)名 character set utf8; 創(chuàng)建數(shù)據(jù)庫(kù)并設(shè)置數(shù)據(jù)庫(kù)的字符編碼。
create database MyDB_two character set utf8;
直接創(chuàng)建的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的編碼方式是 MySQL 默認(rèn)的編碼方式 latin1 (單字節(jié)編碼) ,通常我們會(huì)在數(shù)據(jù)庫(kù)中存放中文數(shù)據(jù),所以最好把數(shù)據(jù)庫(kù)的編碼方式設(shè)置成 utf-8 ,這樣中文才能正常顯示。
character set 可以縮寫成 charset ,效果是一樣的。
使用 show create database 數(shù)據(jù)庫(kù)名; 顯示數(shù)據(jù)庫(kù)的創(chuàng)建信息。
show create database MyDB_one; show create database MyDB_two;
如果不知道一個(gè)數(shù)據(jù)庫(kù)的編碼方式是什么,可以使用 show create database 數(shù)據(jù)庫(kù)名 來(lái)查看數(shù)據(jù)庫(kù)的編碼方式。可以看到剛才創(chuàng)建的 MyDB_one 的編碼方式是 MySQL 的默認(rèn)編碼 latin1 ,MyDB_two 的編碼方式是 utf-8 。
當(dāng)然,這種方式不能在創(chuàng)建的同時(shí)顯示,只能查看一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)的編碼方式。
如果一個(gè)數(shù)據(jù)庫(kù)的編碼方式不符合使用需求,可以進(jìn)行修改。剛才創(chuàng)建的 MyDB_one 經(jīng)過(guò)修改后,編碼方式也變成了 utf-8 。
使用 use 數(shù)據(jù)庫(kù)名 進(jìn)入或切換數(shù)據(jù)庫(kù)。
use MyDB_one use MyDB_two;
剛連接上 MySQL 時(shí),沒(méi)有處于任何一個(gè)數(shù)據(jù)庫(kù)中,如果要使用某一個(gè)數(shù)據(jù)庫(kù),就需要進(jìn)入到這個(gè)數(shù)據(jù)庫(kù)中。
use 數(shù)據(jù)庫(kù)名 這個(gè)命令后面的分號(hào)可以省略,這是 SQL 語(yǔ)句中唯一可以省略分號(hào)的語(yǔ)句。
創(chuàng)建數(shù)據(jù)表
使用 show tables;查看當(dāng)前數(shù)據(jù)庫(kù)中有哪些表。
show tables;
在剛才創(chuàng)建的數(shù)據(jù)庫(kù) MyDB_one 中,還沒(méi)有創(chuàng)建任何表,所以當(dāng)前是空的。
使用 create table 表名(字段1 字段類型,字段2 字段類型,字段3 字段類型,…); 來(lái)創(chuàng)建一張表。
create table Phone_table(pid INT, name CHAR(20), price INT);
在 MyDB_one 中創(chuàng)建了一個(gè)叫 Phone_table 的數(shù)據(jù)表,這張表有三個(gè)字段 pid,name,price 。為了增加 SQL 的可讀性,字段名我用的是小寫,字段類型用大寫。
用 show create table 表名; 來(lái)顯示已創(chuàng)建的表的信息。
show create table Phone_table;
使用 show create table 表名; 可以顯示表的字段信息, MySQL 的引擎,和默認(rèn)的字符編碼等信息。與顯示數(shù)據(jù)庫(kù)信息一樣,show 只能顯示已經(jīng)創(chuàng)建了的數(shù)據(jù)表的信息,不能在創(chuàng)建的同時(shí)顯示信息。
如果想更好地展示表的字段信息,可以使用 desc 表名; 來(lái)顯示表的字段信息。
使用 alter table 表名 add 字段名 數(shù)據(jù)類型; 為已存在的表添加一個(gè)新字段。
alter table Phone_table add color CHAR(20);
其他詳細(xì)的MySQL創(chuàng)建數(shù)據(jù)庫(kù)好數(shù)據(jù)表參考鏈接:https://blog.csdn.net/weixin_43790276/article/details/102655786
總結(jié)
通過(guò)以上的資料,可以搭建出一個(gè)簡(jiǎn)單的Django網(wǎng)頁(yè),輸出“HelloWord”,解決了Django項(xiàng)目的部署流程以及關(guān)系型數(shù)據(jù)庫(kù)MySQL與Django配置的問(wèn)題,對(duì)Django搭建網(wǎng)頁(yè)有了基本的認(rèn)識(shí)!
總結(jié)
以上是生活随笔為你收集整理的Python后端---使用Django+Mysql搭建一个简单的网站的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机软件设定到期,Excel应用——合
- 下一篇: mysql索引升序降序失效原因_关于联合