日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL在Django框架下的基本操作(MySQL在Linux下配置)

發布時間:2023/12/2 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL在Django框架下的基本操作(MySQL在Linux下配置) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:本文已遷移至CSDN,后續的更新也會在CSDN。

http://blog.csdn.net/houchaoqun_xmu/article/details/53813633

http://blog.csdn.net/houchaoqun_xmu

【原】本文根據實際操作主要介紹了Django框架下MySQL的一些常用操作,核心內容如下:

-------------------------------------------------------------------------------------------------

1.?Linux環境下MySQL的安裝與配置

2.?【Linux】MySQL在Django框架下的基本操作

3. Django框架下,一些常用的數據庫操作(增刪改查 - python)

4. 本文相關的一些參考網址

注:本文會根據實踐,持續更新文檔,如有錯誤,希望讀者指出哈!~

-------------------------------------------------------------------------------------------------

一、Linux環境下MySQL的安裝與配置

?-- 說明:本文中展示的MySQL是在虛擬機下進行的(參考網址:http://jingyan.baidu.com/article/425e69e6bbc6c7be14fc1640.html)

1. 在終端輸入【sudo apt-get update】更新倉庫;

2. 輸入【sudo apt-get install mysql-server mysql-client】--> 回車 --> 輸入【y】--> 回車,等待安裝。

-- 期間,會彈出窗口讓你設置密碼,輸入密碼后,等待安裝即可,如下圖所示(注,本文由于實踐過程中忘記截圖,所以使用百度經驗的圖):

3. 判斷是否安裝完成:

【方法一】ps -aux | grep mysql // 查看進程 【方法二】mysql -u root -p // 進入MySQL命令模式

-- 效果圖如下所示:

二、【Linux】MySQL在Django框架下的基本操作

-- 在Linux環境下安裝MySQL完成后,就可以開始進行一些基本的操作了!

0. 【SSH Secure Shell】本文使用SSH客戶端與阿里云服務器進行交互,首先通過SSH連接到服務器的root模式下(輸入服務器IP,用戶名和密碼,其中端口號默認為22)!

1. 進入MySQL命令行模式:(參考網址:https://zhidao.baidu.com/question/202225195.html)

格式: mysql -h主機地址 -u用戶名 -p用戶密碼 1、例1:連接到本機上的MYSQL 找到mysql的安裝目錄,一般可以直接鍵入命令【mysql -uroot -p】,回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql> 2、連接到遠程主機上的MYSQL 假設遠程主機的IP為:10.0.0.1,用戶名為root,密碼為123。則鍵入以下命令: mysql -h10.0.0.1 -uroot -p123 (注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令 exit (回車)

-- 【mysql -uroot -p】本文是直接使用SSH客戶端連接的服務器,所以采用上述例1的方式,如下圖所示:

2. 創建數據庫并查看相關的表(此處創建的數據庫與Django項目下setting.py配置的內容相對應):

-- 在MySQL命令行模式下輸入【CREATE DATABASE TuringClass_DB CHARACTER SET utf8;】創建數據庫?TuringClass_DB;

-- 在Django項目目錄下輸入【python manage.py syncdb】創建相關的表;(注:此處是在Django項目下建表,還可以在MySQL命令行模式下建表)

-- 在MySQL命令行模式下輸入【use TuringClass_DB;】制定當前操作的數據庫為 TuringClass_DB;

--?在MySQL命令行模式下輸入【show tables;】查看當前數據庫中的所有表;

-- CREATE DATABASE TuringClass_DB; // -- CREATE DATABASE TuringClass_DB CHARACTER SET utf8; // 本文選擇此方法創建數據庫 【注:此處MySQL關鍵字不區分大小寫,其中 TuringClass_DB 對應 setting.py 配置的數據庫】

Django項目 setting.py 中MySQL的配置如下所示:

'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'TuringClass_DB','USER': 'XXXXXX','PASSWORD': 'XXXXXX', # Setting when installing MySQL'HOST': '127.0.0.1','PORT': '3306',}

-- 執行命令后的效果圖:

3. 在MySQL命令行模式下建表(參考網址:http://www.cnblogs.com/ggjucheng/archive/2012/11/03/2752082.html):

-- 簡單的方式:

CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE );

--?如果表已存在,則使用關鍵詞IF NOT EXISTS可以防止發生錯誤:

CREATE TABLE IF NOT EXISTS person ( number INT(11), name VARCHAR(255), birthday DATE );

4. 刪除數據庫(整個數據庫):此處操作的數據庫對象為 TuringClass_DB

drop database TuringClass_DB;

-- 效果圖如下所示:

5. 刪除數據庫中指定的表(刪除多個指定的表)

【格式】drop table tableName1, tableName2; 【例子】drop table app_accounts_turingroletype,app_accounts_turinguser;

--?效果圖如下所示:

6.?查詢表的字段信息

【格式】desc 表名稱; 【例子】desc app_TuringClass_questionlist;

--?效果圖如下所示:

7. 數據庫的表查詢【select ....from.... where=】

select * from app_TuringClass_questionlist where QuestionID = 1;

--?效果圖如下所示:

8.?修改數據庫中表的結構(這些命令尚未親測,參考網址:http://blog.csdn.net/lxh090821/article/details/9410943)

# 表position增加列test alter tableposition add(test char(10));
# 表position修改列test
alter tableposition modify test char(20) not null;
# 表position修改列test默認值
alter tableposition alter test set default 'system';
# 表position去掉test默認值
alter tableposition alter test drop default;
# 表position去掉列test
alter tableposition drop column test;
# 表depart_pos刪除主鍵
alter tabledepart_pos drop primary key;
# 表depart_pos增加主鍵
alter tabledepart_pos add primary key PK_depart_pos (department_id,position_id);

9. 顯示當前mysql版本和當前日期

查詢時間:select now(); 查詢當前用戶:select user(); 查詢數據庫版本:select version(); 查詢當前使用的數據庫:select database();

--?效果圖如下所示:

三、Django框架下,一些常用的數據庫操作(增刪改查 - python)【持續更新中...】:

-- 參考網址:http://blog.csdn.net/leiyonglin/article/details/6799428

1. 插入數據:

>>> from books.models import Publisher >>> p1 = Publisher(name='Apress', address='2855 Telegraph Avenue', city='Berkeley', state_province='CA', country='U.S.A.', website='http://www.apress.com/') >>> p1.save()

2. 查詢數據:

-- 獲取指定表的所有數據:

>>> Publisher.objects.all() [<Publisher: Apress>, <Publisher: O'Reilly>]

-- 獲取指定表的單個數據對象:如果結果是多個對象或者沒有返回結果則會拋出異常

>>> Publisher.objects.get(name="Apress") <Publisher: Apress>

3. 條件查詢:

Publisher.objects.filter(name='Apress') [<Publisher: Apress>]

-- 正序排序:相當于 order by name asc

>>> Publisher.objects.order_by("name") [<Publisher: Apress>, <Publisher: O'Reilly>]

-- 逆序排序:相當于 order by name desc

>>> Publisher.objects.order_by("-name")

-- 限制返回數據:相當于 limit 1

>>> Publisher.objects.order_by('name')[0] <Publisher: Apress> _TuringUser = TuringRoleType.objects.get_or_create(RoleTypeID = RoleTypeID, RoleTypeName = RoleTypeName, DeletePermission = DeletePermission, PostPermission = PostPermission, SuperPermission = SuperPermission)[0]

4. 更新數據:

【方法一】
>>> Publisher.objects.filter(id=52).update(name='Apress Publishing') 【方法二】 >>> p = Publisher.objects.get(name='Apress') #先查詢 >>> p.name = 'Apress Publishing' #更新 >>> p.save() #保存

5. 刪除數據:

【方法一】 >>> p = Publisher.objects.get(name="O'Reilly") >>> p.delete() 【方法二】 >>> Publisher.objects.filter(country='USA').delete()

6. 判斷數據是否存在:

if TuringRoleType.objects.filter(RoleTypeID = RoleTypeID).exists():print "[RoleTypeID] = ",RoleTypeID + ", has been existed!"else:print "Table [TuringRoleType] RoleTypeID = ", RoleTypeID

-- 案例1,數據初始化 - 用戶類型表

def Population():AddNewRoleType('admin', '管理員', True, True, True)AddNewRoleType('student', '學生用戶', True, True, False)AddNewRoleType('tourist', '游客用戶', False, False, False)def AddNewRoleType(RoleTypeID, RoleTypeName, DeletePermission, PostPermission, SuperPermission):if TuringRoleType.objects.filter(RoleTypeID = RoleTypeID).exists():print "[RoleTypeID] = ",RoleTypeID + ", has been existed!"else:print "Table [TuringRoleType] RoleTypeID = ", RoleTypeID_TuringUser = TuringRoleType.objects.get_or_create(RoleTypeID = RoleTypeID, RoleTypeName = RoleTypeName, DeletePermission = DeletePermission, PostPermission = PostPermission, SuperPermission = SuperPermission)[0]_TuringUser.save()### main program if __name__ == '__main__':Population()

四、常見問題及其解決方法【持續更新中...】:

1.?Django MySQL數據庫配置以及管理界面提交中文錯誤解決

-- 參考網址:http://www.linuxidc.com/Linux/2014-03/97955.htm

2.?Python EOL while scanning string literal問題解決方法

-- 本文遇到的問題是因為使用vim在服務器上修改代碼時,出現字符串問題,重新上傳相關的代碼即可!

-- 參考網址:http://www.jb51.net/article/65067.htm

3.?

-----------------------------------------------------------------------

參考網址:

1. 【mysql 常用操作】http://blog.csdn.net/lxh090821/article/details/9410943

2. 【mysql創建和刪除表】http://www.cnblogs.com/ggjucheng/archive/2012/11/03/2752082.html

3. 【mysql索引詳解(轉)】http://www.cnblogs.com/ggjucheng/archive/2012/11/04/2754128.html

?-------------------------------------------------------------

【注】博文由本文經過實踐進一步整理,如有問題,還望指出,本人會及時糾正!謝謝^^

--------------------------------------------------------------

轉載于:https://www.cnblogs.com/XMU-hcq/p/6184414.html

總結

以上是生活随笔為你收集整理的MySQL在Django框架下的基本操作(MySQL在Linux下配置)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。