麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
877
2023-12-13
导读:很多朋友问到关于django怎么修改数据库数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!如何将django中的sqlite3换成mysql
django数据库使用(sqlite3和mysql)一、sqlite3使用1、importsqlite3确认系统中是否安装2、进入当前项目目录,cmd后运行python,进入命令行模式3、importsqlite3,
sqlite3.connect({path\name.db})#大括号内表示自定义,真实情况没有大括号4、修改settings.py文件DATABASES={default:{ENGINE:django.db.backends.sqlite3,
NAME:{path\name.db},USER:,PASSWORD:,HOST:,PORT:,}}5、进入数据库文件界面,运行pythonmanage.pyshellfromdjango.dbimport
connectioncur=connection.cursor()如果没报错,则表示配置成功6、修改models.py文件,配置自己的表例如:fromdjango.dbimportmodelsfromdjango.contrib
importadmin#Createyourmodelshere.classBlogPost(models.Model):title=models.CharField(max_length=150)body
=models.TextField()timestamp=models.DateTimeField()classMeta:ordering=[-timestamp]7、创建数据库内容pythonmanage.py
syncdb根据提示输入,表示连接成功注:以上只表示对数据库的创建,连接和使用,不包含其它内容二、mysql1、确认安装mysql数据库2、在mysql中创建数据库命令模式下可以使用CREATEDATABASE。
{name}DEFAULTCHARSET=utf8;3、修改settings.py文件DATABASES={default:{ENGINE:django.db.backends.mysql,NAME:{name},
USER:{username},PASSWORD:{password},HOST:localhost,#ipPORT:3306,}}4、修改models.py文件,配置自己的表例如:fromdjango.db
importmodelsfromdjango.contribimportadmin#Createyourmodelshere.classBlogPost(models.Model):title=models.CharField(max_length
=150)body=models.TextField()timestamp=models.DateTimeField()classMeta:ordering=[-timestamp]5、创建数据库内容python
manage.pysyncdb根据提示输入,表示连接成功
django怎么使用本机mysql数据库step 1:修改你的django project目录下的settings.py 文件至如下所示:其中,NAME 对应的 ‘db_name 是你事先使用mysql
的命令行提示符创建的数据库名称注意:在django使用数据库之前,你必须先创建出数据库,否则会报错USER对应的username 还有 PASSWORD 对应的‘passwd 就是你在mysql中创建的用户名和密码。
如果你有多个的话,随便填一个就好HOST和PORT默认都可以不填题外话: 使用用户名和密码登录mysql的方法:首先,你需要进入 mysql/bin的目录下,也可以在.bash_profile中设置环境变量:
PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/
再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可step 2:然后,在manage.py路径中使用python manage.py syncdb 试试,结果会提示你错误找不到 MySQLdb 这个module, 为什么呢, 因为 python manage.py syncdb 命令是这样工作的:
1. 在project目录的settings.py的INSTALLED_APPS元组中找到可能需要更新的APP2. 找到每一个APP目录中的models.py (关系定义文件),并针对变化在数据库中进行更新。
说了这么多,前面那个错误 找不到 module MySQLdb 是什么意思啊 ?先给个图,再解释:因为在models.py中定义关系使用的是python,而真正在数据库中操作形成model当然一定要用sql语句,所以必须要有一些功能模块
来把python语句转化成sql语句如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错误但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。
我是使用pip 安装的:安装了之后,再使用 python manage.py syncdb就OK啦我使用的系统是 OS X,下面是 mysql 默认的安装路径/usr/local/Cellar/mysql/5.6.22/。
如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径 我的系统中,mysql_config的完整路径是 :/usr/local/Cellar/mysql/5.6.22/bin/mysql_config
django中怎么动态操作数据库字段?django的ORM系统不支持修改删除字段的操作,也就是说你在写模型model文件的时候,比如说定义了这个user表,然后包含字段telphone定义,你一旦执行了manage.py syncdb 这个操作,就把表结构往数据库写死了,如果你之是删除了model文件的telphone,数据库是不被重新修改的。
这个时候必须用原生SQL解决,也就是说自己写SQL语句让django执行,这样的话会出很多问题,也就是说你执行了alter table users drop column telphone之后,你的model文件不知道你已经对users表结构做了修改,这样会出直接导致django应用的崩溃。
所以动态字段不好做也可能是我才疏学浅,没太理解,也许有高人能做到不过面对ORM这样的尽量别删除字段怎么为django配置一个mysql数据库修改setting.py里面的DATABASES元组为DATABASES = {
default: { ENGINE: django.db.backends.mysql, NAME: books, #你的数据库名称 USER: root, #你的数据库用户名
PASSWORD: , #你的数据库密码 HOST: , #你的数据库主机,留空默认为localhost PORT: 3306, #你的数据库端口 }}
INSTALLED_APPS = ( books,#你的数据库名称)在mysql里面创建books数据库检查配置是否有语法错误使用python manage.py sqlall books 显示mysql语法
使用python manage.py syncdb同步模型中的数据库创建成功!结语:以上就是首席CTO笔记为大家介绍的关于django怎么修改数据库数据库的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。