Django与Mysql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Co_zy/article/details/80802034

在Windows平台下,我们可以用Navicat连接MySQL

利用Navicat修改MySQL密码

点击用户,然后点击需要修改的用户名,便可以出现如下界面,进行修改,保存,然后重新登录
这里写图片描述

Excel,MySQL,Django对比

这里写图片描述

新建数据库

这里写图片描述

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字段对比

Django MySQL
CharField varchar
TextField longtext
IntegerField int

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;

创建表

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=数字;

Python使用MySQL

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"] = articles
        return render(request,'index.html',context)

运行服务器,打开浏览器,会直接显示要查询的数据库中的内容
注意: 通过SQL语句查询数据比较复杂,而model 比较容易

猜你喜欢

转载自blog.csdn.net/Co_zy/article/details/80802034
今日推荐