python-web应用程序-Django数据库

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语句并处理返回的结果集。

游标的主要作用包括:

  1. 执行SQL语句:通过游标执行SQL查询、插入、更新和删除操作。
  2. 检索结果集:在SELECT查询后,通过游标逐行提取结果。
  3. 管理事务:游标通常用于事务管理,如提交或回滚事务。

Django开发操作数据库

  • 内部提供了ORM框架

原始方法是写代码,使用pymysql使用数据库

Django的ORM框架则集成了pymysql或mysqlclient或MysqlDB,在其之上写代码,将会更加简洁

  1. 安装mysqlclinet

    pip install mysqlclient
    
  2. 使用ORM

    1. 创建、修改、删除数据库中的表(不用你写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等数据库

    2. 操作表(写在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)
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值