djagno中mysql的安装和model的简单使用

2022-08-28  本文已影响0人  墨鱼好黑

以下内容都是基于python3.x 版本!

mysql的安装

官网下载: https://downloads.mysql.com/archives/community/
一定要下载社区版。。

Windows下 5.x版本的mysql安装方式(免安装包的安装)

  1. 解压
    解压下载后的文件,拷贝到任意目录,尽量不要带有中文
    例如: D:\SDK\mysql-5.7.31-winx64
  2. 添加配置文件
    进入sql文件夹的根目录,添加文件,名为 mysql.ini,内容如下
[mysqld]
# 端口号
port=3306

# sql的路径
basedir=D:\\SDK\\mysql-5.7.31-winx64

# 数据库数据的存储路径,可以随意更改
datadir=D:\\datas\\sql_datas\\mysql5.7.31_datas
  1. 执行数据库初始化
    执行如下命令, cmd,并使用管理员运行
    注意:是mysqld.exe 不是 mysql.exe
"D:\SDK\mysql-5.7.31-winx64\bin\mysqld.exe" --initialize-insecure

注意:报 msvcr120.dll 丢失的话,

  1. 执行服务,把mysql添加到系统服务
    mysql57 是服务名,可以随意命名。 注意:该名称就是以后启动或停止的服务名
"D:\SDK\mysql-5.7.31-winx64\bin\mysqld.exe" --install mysql57
  1. 启动服务 和 停止服务
net start mysql57
net stop mysql57

为了方便,一般会将mysql 添加到环境变量

将bin目录的完整路径添加到环境变量

# 测试连接
mysql -h 127.0.0.1 -p 3306 -u root -p

如果是本地的话,可直接

mysql -u root -p

记得启动服务。

其他

set password = password("密码");
show databases;
[mysqld]
port=3306
basedir=D:\\SDK\\mysql-5.7.31-winx64
datadir=D:\\datas\\sql_datas\\mysql5.7.31_datas
# 添加下面的内容
skip-grant-tables=1

4.保存,重新启动 mysql 服务 , 以无密码的方式登录 mysql;

# 先执行
use mysql;
#再执行
update user set authentication_string = password("新密码"),password_last_changed=now() where user='root';
  1. 退出mysql,停止服务。
  2. 再次修改 mysql.ini 文件, 删除下面的内容
# 删除下面的内容
skip-grant-tables=1

重新启动mysql服务, 正常登录 ok。。。

-------------------------------------fenge yixia --------------------------------------------------

python 使用mysql数据库的分两个版本

Python-MySQL资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,只支持Python2,不支持Python3。
PyMySQL为替代Python-MySQL而生,纯python打造,接口与Python-MySQL兼容,安装方便,支持Python3。

mysql的配置

models是用来跟数据库绑定的对象
下面以mysql为例说明:

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

        # 使用options 的优先级会高于用 NAME、USER 等字段
        'OPTIONS': {
            'read_default_file': BASE_DIR / 'my.cnf',
        },
    }
}

my.cnf 写法

# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

model 使用说明

class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    size = models.IntegerField()
    # 带默认值
    age = models.IntegerField(default=1)
    # 允许为空
    data = models.IntegerField(null=True, blank=True)

create database 数据库名称 default charset=utf8;
$ python manage.py makemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更
$ python manage.py migrate TestModel   # 创建表结构

控制台看到几行 "Creating table…" 的字样,你的数据表就创建好了。
注意:Django 会自动添加一个 id 作为主键。

其他注意:
安装pymysql

pip install pymysql

安装 mysqlclient

pip install mysqlclient

使用model创建表的时候,要做一下配置。在init.py下添加如下内容( setting.py 同级目录下)

import pymysql
pymysql.install_as_MySQLdb()
上一篇 下一篇

猜你喜欢

热点阅读