當前位置:首頁 » 編程語言 » djangomodelsql語句
擴展閱讀
硬體虛擬工具密碼是多少 2022-09-25 12:33:57
華為視頻緩存暫停 2022-09-25 12:30:36

djangomodelsql語句

發布時間: 2022-08-11 09:22:21

1. django怎麼使用本機mysql資料庫

step 1:

修改你的django project目錄下的settings.py 文件至如下所示:

其中,'NAME' 對應的 『db_name' 是你事先使用mysql
的命令行提示符創建的資料庫名稱。注意:在django使用資料庫之前,你必須先創建出資料庫,否則會報錯。'USER'對應的'username'
還有 'PASSWORD' 對應的『passwd'
就是你在mysql中創建的用戶名和密碼。如果你有多個的話,隨便填一個就好。'HOST'和'PORT'默認都可以不填。

題外話: 使用用戶名和密碼登錄mysql的方法:

首先,你需要進入 mysql/bin的目錄下,也可以在.bash_profile中設置環境變數:

PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/

再在prompt輸入 mysql -u username -p, 回車後再輸入 passwd即可

step 2:

然後,在manage.py路徑中使用python manage.py syncdb 試試,結果會提示你錯誤找不到 MySQLdb 這個mole, 為什麼呢, 因為 python manage.py syncdb 命令是這樣工作的:

1. 在project目錄的settings.py的INSTALLED_APPS元組中找到可能需要更新的APP。

2. 找到每一個APP目錄中的models.py (關系定義文件),並針對變化在資料庫中進行更新。

說了這么多,前面那個錯誤 找不到 mole MySQLdb 是什麼意思啊 ?

先給個圖,再解釋:

因為在models.py中定義關系使用的是python,而真正在資料庫中操作形成model當然一定要用sql語句,所以必須要有一些功能模塊
來把python語句轉化成sql語句。如果你使用sqlite的話,由於sqlite和轉化模塊都已經由python內置了,所以直接使用不會發生錯
誤。但是 」mysql語句的轉化模塊「 就需要你手動載入了,這些模塊放在 MySQL-python 中。

我是使用pip 安裝的:

安裝了之後,再使用 python manage.py syncdb就OK啦。

我使用的系統是 OS X,下面是 mysql 默認的安裝路徑

/usr/local/Cellar/mysql/5.6.22/

如果你想知道你的資料庫文件是放在哪裡的,你可以查看mysql_config文件中的ldata變數,這個變數的值就是 默認的資料庫文件夾存儲的路徑。 我的系統中,mysql_config的完整路徑是 :

/usr/local/Cellar/mysql/5.6.22/bin/mysql_config

2. django sqlite可以用sql語句操作嗎

sqlite3 使用
1、import sqlite3 確認系統中是否安裝
2、進入當前項目目錄,cmd後運行python,進入命令行模式
3、import sqlite3,
sqlite3.connect('{path\name.db}') #大括弧內表示自定義,真實情況沒有大括弧
4、修改settings.py文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': {path\name.db}',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
5、進入資料庫文件界面,運行python manage.py shell
from django.db import connection
cur = connection.cursor()
如果沒報錯,則表示配置成功
6、修改models.py文件,配置自己的表
例如:
from django.db import models
from django.contrib import admin

# Create your models here.
class BlogPost(models.Model):
title = models.CharField(max_length = 150)
body = models.TextField()
timestamp = models.DateTimeField()
class Meta:
ordering = ['-timestamp']
7、創建資料庫內容
python manage.py syncdb
根據提示輸入,表示連接成功
註:以上只表示對資料庫的創建,連接和使用,不包含其它內容。

3. 如何在Django中直接使用sql語句

執行SQL語句要看你使用什麼樣的資料庫,一般來說資料庫有兩種介面,一種是命令行介面,一種是GUI界面的程序管理介面,比如 mysql,你可以在命令行執行mysql來進行執行,也可以使用phpmyadmin、navcat之類的第三方的GUI管理工具來執行。

4. python Django 生成sql語句

Django提供了sql,sql_all命令來生成MODEL的SQL語句,當定義好DjangoModel後,可以在初始化調用Syncdb方法來自動在資料庫裡面生成相應的表。

Model定義如下:

classTestModel(models.Model):
Name=models.CharField(max_length=64,blank=True)
>>>fromdjango.core.management.colorimportno_style
#Style是用來輸出語句時著色的
>>>fromdjango.dbimportconnection
>>>fromdjango.db.backendsimportcreation
#這裡面有個類BaseDatabaseCreation,就是用來生成SQL語句的。
>>>T=TestModel()
>>>c=creation.BaseDatabaseCreation(connection)
>>>c.sql_create_model(T,no_style())[0]
['CREATETABLE"abc"( "id"integerNOTNULLPRIMARYKEY, "Theme"varchar(64)NOTNULL ) ;']

這樣就可以通過Django取得這個模型的SQL定義語句了,並且針對不同的資料庫處理Django已經幫做好了。

5. 如何將django orm模型 寫入資料庫

假如你有一個app叫做myapp,模型models.py代碼如下:

fromdjango.dbimportmodels
classPerson(models.Model):
first_name=models.CharField(max_length=30)
last_name=models.CharField(max_length=30)

django資料庫遷移一般就兩個命令,命令行執行

1,生成數據表

python manage.py migrate

相當於執行下面sql語句

CREATETABLEmyapp_person(
"id"serialNOTNULLPRIMARYKEY,
"first_name"varchar(30)NOTNULL,
"last_name"varchar(30)NOTNULL
);

2,修改模型models.py欄位後可以用重建命令,我們在模型中添加一個欄位

fromdjango.dbimportmodels
classPerson(models.Model):
first_name=models.CharField(max_length=30)
last_name=models.CharField(max_length=30)
bothday=models.DateField("生日",default=datetime.date.today)

然後在命令行執行

python manage.py makemigrations

最後執行命令python manage.py runserver,即可在本地瀏覽器打開127.0.0.1:8000

6. 如何查看django執行的sql語句及消耗時間

在查詢分析器中,選中 包含客戶端統計信息 ,執行結果就會多一個選項卡。 如果是在應用程序中,在執行語句的前後各加一個時間,兩個時間對比就行了。 也可以在跟蹤里,查看語句的執行時間。

7. 怎麼在django裡面執行sql語句

首先導入: from django.db import connection 然後創建一個cursor,然後就執行吧。 cursor = connection.cursor() cursor.execute("select * from table") 執行完別忘了關閉連接。 cursor.close() 我也是Django初學者

8. django 如何執行sql語句,例如select * from temp t where t.a like '%ni%'

首先導入:
from django.db import connection

然後創建一個cursor,然後就執行吧。
cursor = connection.cursor()
cursor.execute("select * from table")

執行完別忘了關閉連接。
cursor.close()

my friend do you know?

9. 我的網站中有一個預約欄目,我想將其與我的資料庫連接起來,使用python和sql語句

Django提供了sql,sql_all命令來生成MODEL的SQL語句,當定義好Django Model後,可以在初始化調用Syncdb方法來自動在資料庫裡面生成相應的表。Model定義如下:class TestModel(models.Model):Name=models.CharField(max_length=64,blank=True)>>> from django.core.management.color import no_style #Style是用來輸出語句時著色的>>> from django.db import connection>>> from django.db.backends import creation#這裡面有個類BaseDatabaseCreation,就是用來生成SQL語句的。>>> T=TestModel()>>> c=creation.BaseDatabaseCreation(connection)>>>c.sql_create_model(T,no_style())[0]['CREATE TABLE "abc" (\n "id" integer NOT NULL PRIMARY KEY,\n "Theme" varchar(64) NOT NULL\n)\n;']這樣就可以通過Django取得這個模型的SQL定義語句了,並且針對不同的資料庫處理Django已經幫做好了。

10. django sql查詢

兩種方法:
方法一,使用raw:
mytest.objects.raw('select * from hello_Book')

自定義sql:
mytest.objects.raw("insert into hello_author(name) values('測試')")
rawQuerySet為惰性查詢,只有在使用時生會真正執行

方法二,執行自定義sql:
from django.db import connection
cursor=connection.cursor()
#插入操作
cursor.execute("insert into hello_author(name) values('郭敬明')")
#更新操作
cursor.execute('update hello_author set name='abc' where name='bcd'')
#刪除操作
cursor.execute('delete from hello_author where name='abc'')
#查詢操作
cursor.execute('select * from hello_author')
raw=cursor.fetchone() #返回結果行游標直讀向前,讀取一條
cursor.fetchall() #讀取所有