MySQL和Django的简介

MySQL和Django的简介

MySQL是一个常用的关系型数据库管理系统,而Django是一个使用Python编写的Web框架。在Django中,要使用MySQL进行数据存储和查询,需要选择合适的驱动程序。pymysql是一个流行的MySQL驱动程序,它能够与Django无缝集成。

阅读更多:MySQL 教程

安装和配置pymysql

在使用pymysql之前,需要先安装和配置它。我们可以采用pip工具快速安装pymysql:

pip install pymysql

然后,在Django的settings.py文件中,将pymysql设置为默认的数据库驱动程序:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',
        'USER': 'your_database_user',
        'PASSWORD': 'your_database_password',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'charset': 'utf8mb4',
            'sql_mode': 'traditional',
            'use_unicode': True,
            'driver': 'pymysql',
        },
    }
}

创建数据库表和数据模型

在使用MySQL之前,需要先创建数据库表和数据模型,以便存储和查询数据。首先,在MySQL中创建一个名为“django”的数据库:

CREATE DATABASE django CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

然后,在Django的models.py文件中,定义数据模型,并在MySQL中创建相应的数据表:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    published_date = models.DateField()
    price = models.DecimalField(max_digits=5, decimal_places=2)
CREATE TABLE book (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100) NOT NULL,
    author VARCHAR(100) NOT NULL,
    published_date DATE NOT NULL,
    price DECIMAL(5,2) NOT NULL
) ENGINE = InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

查询和操作数据

在创建完数据模型和数据表之后,就可以通过Django和pymysql进行数据查询和操作了。以下是一些常用的示例:

查询所有数据

from myapp.models import Book

books = Book.objects.all()

查询指定条件的数据

from myapp.models import Book

# 查询作者为“John”的书籍
books = Book.objects.filter(author='John')

# 查询发行日期在2019年之前的书籍
books = Book.objects.filter(published_date__lt='2019-01-01')

添加新数据

from myapp.models import Book

book = Book(title='A Book', author='John', published_date='2022-01-01', price=19.99)
book.save()

更新数据

from myapp.models import Book

book = Book.objects.get(pk=1)
book.title = 'New Title'
book.author = 'Mary'
book.save()

删除数据

from myapp.models import Book

book = Book.objects.get(pk=1)
book.delete()

总结

在使用MySQL和Django时,pymysql是一个非常有用的驱动程序,能够帮助我们快速地实现数据存储和查询功能。通过本文的介绍,我们学习了如何安装和配置pymysql,创建数据库表和数据模型,以及执行常见的数据查询和操作。希望本文对您有所帮助,谢谢!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程