python web應用程序之Django數(shù)據(jù)庫詳解
python-web應用程序-Django數(shù)據(jù)庫-操作表
原始方法:
import pymysql
#1.鏈接mysql
conn = pymysql.connect(host='127.0.0.1',port = 2206,user = 'root',passwd = 'root123',charset = 'utf8',db = 'unicom')
cursor = conn.cursor(cursor = pymysql.cursors.DictCursor)
#2.發(fā)送指令
cursor.execute('insert into admin(username,password,mobile)values('yulin','123456','13888888888')')
conn.commit()
#3.關閉
cursor.close()
conn.close()- 游標(Cursor)對象是數(shù)據(jù)庫編程中的一個重要概念。它提供了一種從數(shù)據(jù)庫結果集中逐行讀取數(shù)據(jù)的方法。游標就像數(shù)據(jù)庫服務器和應用程序之間的橋梁,允許應用程序執(zhí)行SQL語句并處理返回的結果集。
游標的主要作用包括:
- 執(zhí)行SQL語句:通過游標執(zhí)行SQL查詢、插入、更新和刪除操作。
- 檢索結果集:在SELECT查詢后,通過游標逐行提取結果。
- 管理事務:游標通常用于事務管理,如提交或回滾事務。
Django開發(fā)操作數(shù)據(jù)庫
內部提供了ORM框架
原始方法是寫代碼,使用pymysql使用數(shù)據(jù)庫
Django的ORM框架則集成了pymysql或mysqlclient或MysqlDB,在其之上寫代碼,將會更加簡潔
安裝mysqlclinet
pip install mysqlclient
使用ORM
創(chuàng)建、修改、刪除數(shù)據(jù)庫中的表(不用你寫SQL語句),但無法創(chuàng)建數(shù)據(jù)庫
1.啟動mysql服務
2.創(chuàng)建新的數(shù)據(jù)庫pymysql
3.Django鏈接數(shù)據(jù)庫-settings.py中修改配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}上述鏈接的是sqlite3 還可以鏈接mysql如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'pymysql',#數(shù)據(jù)庫名字
'USER':'root',#數(shù)據(jù)庫user
'PASSWORD':'123456',#數(shù)據(jù)庫密碼
'HOST':'127.0.0.1',#本地服務器可以是遠程數(shù)據(jù)庫
'PORT':'3306'#數(shù)據(jù)庫端口號
}
}甚至可以鏈接postgresql、oracle等數(shù)據(jù)庫
操作表(寫在models.py文件中)
創(chuàng)建表
1.需要根據(jù)數(shù)據(jù)庫來添加類與表結構對應
在models.py:
from django.db import models
# Create your models here.
class UserInfo(models.Model):
name = models.CharField(max_length=10)
password = models.CharField(max_length = 40)
age = models.IntegerField(max_length = 3)2.在命令行執(zhí)行下列命令后會Django會根據(jù)類自動創(chuàng)建表
python manage.py makemigrations python manage.py migrate

注意,如果創(chuàng)建了一個表后還需要增加字段,需要給默認值(最好給NULL)。
name = models.CharField(null = True,blank = True)
name = models.CharField(null = True,blank = True)
到此這篇關于python web應用程序之Django數(shù)據(jù)庫詳解的文章就介紹到這了,更多相關python Django數(shù)據(jù)庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 使用python和Django完成博客數(shù)據(jù)庫的遷移方法
- python django 增刪改查操作 數(shù)據(jù)庫Mysql
- Python的Django框架中使用SQLAlchemy操作數(shù)據(jù)庫的教程
- 在Python的Django框架中更新數(shù)據(jù)庫數(shù)據(jù)的方法
- Python的Django框架中的數(shù)據(jù)庫配置指南
- Python的Django框架可適配的各種數(shù)據(jù)庫介紹
- 用實例詳解Python中的Django框架中prefetch_related()函數(shù)對數(shù)據(jù)庫查詢的優(yōu)化
相關文章
Pycharm 2020.1 版配置優(yōu)化的詳細教程
這篇文章主要介紹了更新Pycharm 2020.1 版配置優(yōu)化的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
Tensorflow tf.nn.depthwise_conv2d如何實現(xiàn)深度卷積的
這篇文章主要介紹了Tensorflow tf.nn.depthwise_conv2d如何實現(xiàn)深度卷積的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
利用Python找出序列中出現(xiàn)最多的元素示例代碼
這篇文章主要給大家介紹了關于利用Python找出序列中出現(xiàn)最多的元素的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-12-12

