数据库
Django默认支持sqlite、mysql、oracel、postgresql等数据库
1、sqlite
django默认使用sqlite数据库 Django.db.backends.sqlite3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
2、MySQL
Django.db.backends.mysql
MySQL驱动程序:
(默认)MySQLdb(mysql python)
● Mysqlclient
● MySQL
● PyMySQL(纯python的MySQL驱动程序)
修改setting.py,使用MySQL :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_cms', # mysql中创建好的数据库名称
'USER':'root',
'PASSWORD':'123456',
'HOST':'', # 访问本机时为空
'PORT':'3306'
}
}
修改项目主文件夹下的__init__.py, 加入以下代码 :
import pymysql
pymysql.install_as_MySQLdb()
Models
在应用的models.py中,继承models.Model,定义model,即创建对应数据库的表
from django.db import models
# Create your models here.
class Book(models.Model):
name=models.CharField(max_length=20,verbose_name="书名")
price=models.IntegerField(verbose_name="价格")
pub_date=models.DateField()
publish=models.ForeignKey(Publish)
authors=models.ManyToManyField("Author")
def __str__(self):
return self.name
数据库迁徙
修改过数据库,应执行迁徙,以应用改动:
python manage.py makemigrations
python manage.py migrate
在PyCharm视图右侧DataBase添加sqlite3类型驱动,将生成的db.sqlit3数据库拖到右侧窗口,可视图查看数据库。
MySQL相关
安装记录(win7):
根据教程安装mysql(在MySQL官网下载了8.1.0zip Archive安装包):
1、在进入bin目录
cd C:\web\mysql-8.0.11\bin
2、初始化数据库
mysqld --initialize --console
3、执行完成后,会输出root用户的初始默认密码
...2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: APWCY5ws&hjQ...
4、输入以下安装命令
mysqld install
5、启动mysql
net start mysql
登录MySQL
登录本机的 MySQL 数据库
mysql -u root -p
提示输入密码,此时输入初始化时生成的密码。
初次登陆后,需要修改密码才可以进行其它操作。
登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
遇到的问题
1、找不到VCRUNTIME140_1.dll
在初始化数据库:mysqld --initialize --console 时,弹出错误
Latest supported Visual C++ Redistributable downloads | Microsoft Learn 在官网下载最新VC Red..安装,解决了问题。VCRUNTIME140_1.dll在系统中其实存在,不过时间是2010年的,可能是版本旧了。
无法启动此程序,因为计算机中丢失VCRUNTIME140_1.dll。尝试重新安装该程序一解决问题。_悟世君子的博客-CSDN博客 问题是参考这篇文章解决的。
2、ini文件创建
安装过程需要创建一个ini文件。但电脑默认创建记事本文件,要想通过修改文件名后缀来改变文件类型,需要在 工具-文件夹选项-查看-去掉“隐藏已知文件的扩展名”的勾选。
操作
1、启动与关闭
Windows下
mysqld --console 或 net start mysql #启动服务
mysqladmin -uroot shudown 或 net stop mysql #关闭服务
2、查看已创建的数据库
use <数据库名称>; # 进入某个数据库
show table; desc <表的名称> # 查看数据库中某个表
标签:models,数据库,MySQL,db,Django,mysql,Model
From: https://www.cnblogs.com/zhlforhe/p/18013525