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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Python与MySQL

發布時間:2025/3/21 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python与MySQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Django 與 MySQL
    • Navicat新建數據庫
    • 利Navicat修改MySQL密碼
    • Django,Excel,MySQL概念對比
    • Django配置使用MySQL
    • Django字段與MySQL字段對比
  • SQL語句操作MySQL數據庫
  • MySQLdb的簡單使用
  • 使用pymysql (py3.x)

Django 與 MySQL

在Windows平臺下,我們可以用Navicat連接MySQL

Navicat新建數據庫

利Navicat修改MySQL密碼

點擊用戶,然后點擊需要修改的用戶名,便可以出現如下界面,進行修改,保存,然后重新登錄

Django,Excel,MySQL概念對比

Django配置使用MySQL

Django的默認數據庫(位于setting.py)如下,我們需要手動修改一下

修改setting.py如下

DATABASES = {'default':{'ENGINE':django.db.backends.mysql','NAME':'django','HOST':'127.0.0.1','PORT':3306,'USER':'root','PASSWORD':'admin'} }

之后命令行啟動

python manage.py runserver

如果出錯,則安裝mysqlclient,安裝完成后重新啟動,可能還會報錯,由于沒有對mysql進行初始化,我們需要運行一下命令

python manage.py makemigrations python manage.py migrate

之后重啟,根據輸出內容在瀏覽器中輸入相應的IP地址 ,如127.0.0.1:8000
進入后是空表,然后我們輸入127.0.0.1:8000/admin進去管理界面,然后命令行運行

python manage.py createsuperuser

創建管理員賬號,然后重啟一下

Django字段與MySQL字段對比

DjangoMySQL
CharFieldvarchar
TextFieldlongtext
IntegerFieldint

SQL語句操作MySQL數據庫

方法一: 右鍵數據庫名,選擇命令行界面,打開如下圖

方法二: 也可以使用一下方法(具有命令提示功能)

創建MySQL賬號
使用如下語句

CREATE USER 用戶名@'允許IP' IDENTIFIED BY '密碼'

允許IP可以是localhost 可以是’%’或者具體IP
修改權限

grant all privileges on *.* to 'root'@localhost

第一個星號表示數據庫,第二個星號表示數據表

創建數據庫

CREATE DATABASE 數據庫名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

https://blog.csdn.net/lin_bing110/article/details/80702578

創建表

CREATE TABLE 數據庫名.表名稱(字段1 字段類型, 字段2 字段類型 };例如 CREATE TABLE demo.users(name varchar(25) };

或者選擇哪個數據庫之后,然后再創建

CREATE TABLE users(name varchar(25) };

向表中插入新數據

INSERT INTO 表名稱(字段名1,字段名2) VALUES (值1,值2); UPDATE 表名稱 SET 字段名1='字符串',字段名2=數字 WHERE 字段名3 = 值;

刪除符合條件的數據

DELETE FROM 表名稱 WHERE 字段名1='字符串' AND 字段名2=數字;

MySQLdb的簡單使用

from django.shortcuts import render,HttpResponse,redirect from firstapp.models import People,Article,Comment from django.template import Context,Template from firstapp.form import CommentForm import MySQLdb def index(request):conn = MySQLdb.connect(host = 'localhost',port = 3306,user = 'root',passwd = 'admin',db = 'django',charset = 'utf8')cursor = conn.cursor()cursor.execute("SELECT * FROM firstapp_article")results = cursor.fetchamany()articles = []for result in results:articles.append({'title':result[1],'content':result[2],'like_counts':result[3],'score':result[4],'createtime':result[5]})context = {}context["articles"] = articlesreturn render(request,'index.html',context)

運行服務器,打開瀏覽器,會直接顯示要查詢的數據庫中的內容
注意: 通過SQL語句查詢數據比較復雜,而model 比較容易

使用pymysql (py3.x)

安裝PyMySQL

pip install pymysql

對象類比

訪問數據庫流程

connection對象

con = pymysql.connect(host = '',port = '',user = '',passwd = '',db = '',charset = 'utf-8' )

游標對象cursor


one = cur.fetchone() print(one) #獲取剩余的3條記錄 three = cur.fetchmany(3) print(three) # 獲取剩余所有記錄列表 rows = cur.fetchall() print("表中剩余所有記錄:", rows) print("number of records:", len(rows))結果如下(1, 'aaa') ((2, 'bbb'), (3, 'ccc'), (4, 'ddd')) 表中所有記錄: ((5, 'eee'), (6, 'fff')) number of records: 2

事務回滾

try:cur.execute(); db.commit()print("Success") except Exception as e:print(e)db.rollback()

execute執行流程

CRUD操作
增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)

import pymysql conn = pymysql.connect("IP或者域名","mysql賬戶名","mysql密碼","數據庫名") cur = conn.cursor() #如果表存在,刪除表 cur.execute("DROP TABLE IF EXISTS demo") #建立表 (列名 類型) cur.execute('CREATE TABLE demo(num int ,str varchar(20));') #插入 #兩種方式均可,但必須用雙引號 cur.execute("INSERT INTO demo VALUES(%d, '%s')" % (1,'aaa')) cur.execute("INSERT INTO demo VALUES(2,'bbb')") #更新 cur.execute("UPDATE demo SET str ='ccc' where num = 1") #查詢 cur.execute("SELECT * FROM demo") # 獲取所有記錄列表 rows = cur.fetchall() print("表中所有記錄:",rows) print("number of records:",len(rows)) for i in rows:print("num=%s,str=%s" % i) #提交事務,使上述操作生效 conn.commit() #關閉游標對象 cur.close() #關閉數據庫連接 conn.close()

連接數據庫并查詢表

import pymysql# 打開數據庫連接,依次為服務器IP,數據庫用戶名,密碼,數據庫db = pymysql.connect("IP","root","password","wordpress")# 使用cursor()方法獲取操作游標 cursor = db.cursor() sql = 'select * from wp_users' try:# 執行SQL語句cursor.execute(sql)# 獲取所有記錄列表results = cursor.fetchall()for row in results:id = row[0]username = row[1]email = row[4]print("id :",id,"username :",username,"email :",email) except:print("Error: unable to fetch data") db.close()

總結

以上是生活随笔為你收集整理的Python与MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。

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