python-web应用程序-Django数据库-操作表
原始方法:
import pymysql#1.链接mysql
conn = pymysql.connect(host='127.0.0.1',port = 2206,user = 'root',passwd = 'root123',charset = 'utf8',db = 'unicom')
cursor = conn.cursor(cursor = pymysql.cursors.DictCursor)#2.发送指令
cursor.execute('insert into admin(username,password,mobile)values('yulin','123456','13888888888')')
conn.commit()#3.关闭
cursor.close()
conn.close()
- 游标(Cursor)对象是数据库编程中的一个重要概念。它提供了一种从数据库结果集中逐行读取数据的方法。游标就像数据库服务器和应用程序之间的桥梁,允许应用程序执行SQL语句并处理返回的结果集。
游标的主要作用包括:
- 执行SQL语句:通过游标执行SQL查询、插入、更新和删除操作。
- 检索结果集:在SELECT查询后,通过游标逐行提取结果。
- 管理事务:游标通常用于事务管理,如提交或回滚事务。
Django开发操作数据库
- 内部提供了ORM框架
原始方法是写代码,使用pymysql使用数据库
Django的ORM框架则集成了pymysql或mysqlclient或MysqlDB,在其之上写代码,将会更加简洁
-
安装mysqlclinet
pip install mysqlclient
-
使用ORM
-
创建、修改、删除数据库中的表(不用你写SQL语句),但无法创建数据库
1.启动mysql服务
2.创建新的数据库pymysql
3.Django链接数据库-settings.py中修改配置
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': BASE_DIR / 'db.sqlite3',} }
上述链接的是sqlite3 还可以链接mysql如下:
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'pymysql',#数据库名字'USER':'root',#数据库user'PASSWORD':'123456',#数据库密码'HOST':'127.0.0.1',#本地服务器可以是远程数据库'PORT':'3306'#数据库端口号} }
甚至可以链接postgresql、oracle等数据库
-
操作表(写在models.py文件中)
创建表
1.需要根据数据库来添加类与表结构对应
在models.py:
from django.db import models# Create your models here. class UserInfo(models.Model):name = models.CharField(max_length=10)password = models.CharField(max_length = 40)age = models.IntegerField(max_length = 3)
2.在命令行执行下列命令后会Django会根据类自动创建表
python manage.py makemigrations python manage.py migrate
-
注意,如果创建了一个表后还需要增加字段,需要给默认值(最好给NULL)。
name = models.CharField(null = True,blank = True)
name = models.CharField(null = True,blank = True)
-
-