pymysql是什么?ORM是什么?
pymysql是python外置模块,用来链接数据库的。用pymysql直接连接MySQL数据库查询数据,需要有下面几步
1. import pymysql
2. 建立连接
3. 获取光标
4. 执行SQL语句
5. 获取数据
6. 关闭光标
7. 关闭连接
使用pymysql连接数据库缺点:
1. 麻烦
2. 自己写SQL语句!!!
ORM是一个连接数据库的工具,pymysql使用ORM工具连接数据库 优点:
1. 不用自己写SQL语句!!!
ORM 缺点:
1. 执行效率不高、
ORM 是什么
1. 对象关系映射
类——》 数据表
属性——》 字段
对象——》 行
2. django中如何使用ORM,即数据库相关配置
1. 告诉django链接哪个数据库(settings.py)
DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3',#引擎,默认链接sqlite3 # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),#时期力特路径 'ENGINE': 'django.db.backends.mysql',#引擎,改为mysql 'NAME':'s21hao', 'HOST':'127.0.0.1', 'PORT':3306, 'USER':'root', 'PASSWORD':123 }
2. 在mysite/__init__文件中添加下面的代码,告诉django用pymysql链接mysql数据库(默认的是mysqldb)
3. 去app/models.py里创建类
class Publisher(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=16)
4. 然后进入终端执行下面的命令,让django去数据库创建表结构跟数据
》python manage.py makemigrations --> 将models.py的改动记录在小本本上
》python manage.py migrate --> 将变更记录翻译成SQL语句,去数据库执行
发现执行上面命令报错,原因是电脑上装了两个版本的python,python指向的是python2.7.应该使用python3.6
》python3 manage.py makemigrations
》python3 manage.py migrate
然后去app下的migarations路径下,会发现多了一个文件;数据库表也有生成表