返回顶部
首页 > 资讯 > 数据库 >django中操作mysql数据库的方法
  • 926
分享到

django中操作mysql数据库的方法

2024-04-02 19:04:59 926人浏览 薄情痞子
摘要

目录1.准备工作(Django连接数据库)2.djanGo操作数据库(ORM)2.1 ORM简介2.2 创建表和字段2.3 字段的增删改查2.4 单表数据的增删改查2.4.1单表数据的查询2.4.2单表数据的增加2.4.

1.准备工作(django连接数据库)

1.本机电脑下载好Mysql数据库
2.打开django,修改setting.py中的DATABASES配置项

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'python',
        'USER': 'root',
        'PASSWord': 'zy199909237412',
        'HOST': '127.0.0.1',
        'POST': '3306',
    }
}

3.在PyCharm的右侧栏点击database或者做下角点击database,连接数据库,如果都没有,则去pluging里面寻找是否装了database插件!!

django中操作mysql数据库的方法

或者

django中操作mysql数据库的方法

4.输入需要连接的数据库

django中操作mysql数据库的方法

5.这里没有下载驱动的需要先下载,不然连接不上

django中操作mysql数据库的方法

6.在django项目中的__init__.py中导入pymysql,告诉django使用pymysql连接数据库,而不是mysqldb模块

import pymysql
pymysql.install_as_MySQLdb()

7.简单使用pycharm操作数据库

django中操作mysql数据库的方法

2.django操作数据库(ORM)

2.1 ORM简介

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM在业务逻辑层和数据库层之间充当了桥梁的作用

简单来说,ORM就是使用面向对象的方式来操作数据库!

(1)ORM的优势:

1.将表和类一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。
2.ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据,提高了工作效率

(2)ORM的劣势

1.一些查询操作完成不了
2.一定程度上牺牲了程序的执行效率
3.用久了会忘SQL语言

2.2 创建表和字段

from django.db import models # 1.导入models模块

# 2.定义一个类继承models.Model类(创建一张项目名(应用名)_类名的表)
class Book(models.Model):

# 3.定义类属性title和price(对应是创建字段名、字段类型和字段选项)
title = models.CharField('书名', max_length=50, default='')
price = models.DecimalField('价格', max_digits=7, decimal_places=2)

class 模型类名(models.Model):
           字段名 = models.字段类型(字段选项)


在类里面不指定主键字段,django会帮您自动创建一个id主键!

注意:对于数据库的增删改查之后都要进行数据库迁移
1.执行python3 manage.py makemigration---将应用下的model.py文件生成一个中间件文件,并保存在migrations文件中
2.执行Python3 manage.py migrate ----将每个应用下的migrations目录中的中间文件同步回数据库

2.3 字段的增删改查

1.增加字段

直接在对应的类里面添加字段、字段类型和字段选项

注意增加的字段都需要指定default = '' 或者null = True,如下添加info字段:

info = models.CharField(max_length=32,default='',null=True)

2.修改字段

直接在类里面修改对应字段就行!

然后执行数据库迁移命令!

3.字段的删除

直接在类里面将需要删的字段注释掉就行!
然后执行数据库迁移命令!

注意:执行完毕了,数据库对应的数据就没有了!慎重!!!

2.4 单表数据的增删改查

每个继承model.Model的模型类,都有一个objects对象被同样继承下来,这个对象叫管理器对象,数据库的增删改查都是通过模型的管理器实现。

对于数据的增删改查,其实最主要的都是在views.py的视图函数里完成的!因此,我们需要在视图函数里进行数据库的增删改查操作!

2.4.1单表数据的查询

1.filter()查询方法

from app01 import models  # 1.导入自己创建的模型类

# 2.filter查询方法,语法是:models.类名.objects.filter(),filter内可以查询多个参数,默认是and连接,等于SQL语法的where方法!,不传参时代表查所有

res = models.MyModle.objects.filter(username=username)
# 该方法有一个返回值,返回的是一个queryset对象,该对象可以看成是列表套字典的形式,列表里面套着一个个数据对象,形式为:[数据对象1,数据对象2]
# queryset列表也支持索引,切片操作,但是不支持负数索引,可以当成列表套字典的形式for循环

user_obj = res[0]  # 得到的是具体的数据对象,但是官方不推荐使用索引的方式取到具体的数据对象,它推荐的是res.first()方法取到列表里的第一个数据对象!

print(user_obj.username)  # 通过点大法,即.属性的方法得到具体的值

2.all()查询所有方法

# all方法查询User表的所有数据,返回的是一个queryset对象列表,
user_queryset = models.User.objects.all()

2.4.2单表数据的增加

1.create()方法

# create增加数据方法,语法是:models.类名.objects.create()
res = models.MyModle.objects.create(username=username,password=password)
# 该方法也有一个返回值,返回的是当前这个数据对象
print(res.username,res.password) # 可以通过点属性的方法,查看到对应属性的值

2.save()方法

obj = models.User(username=username,password=password)
obj.save() # 保存数据到数据库

2.4.3单表数据的修改

1.upadte()方法:先查出来,在更新

# 查出id为什么的对象,然后进行批量更新。filter可以查所有,也可以查具体
models.User.objects.filter(id=edit_id).update(username=username,password=password)

2.赋值+save()方法

obj = models.User.objects.filter(id=edit_id).first() #拿到待修改的对象
obj.username = username # 采用给该对象属性重新赋值的方法修改数据
obj.password = password
obj.save() # 最后赋值完记得需咬保存

2.4.4单表数据删除

1.delete()方法:用于批量删除

# 先filter查出需要删除的对象,然后.delete()方法
models.User.objects.filter(id=delete_id).delete() # 这里是把filter查出来的queryset对象里全部删除了,有几个删几个。
# 这里的id可以改写成pk,用了pk就不需要知道表的主键是id还是其他什么了!

2.单一删除

res = models.User.objects.filter(id=delete_id).first()
res.delete()  # 单一删除

2.4.5补充13条单表查询

# 1.all()  查询所有数据

# 2.filter()     带有过滤条件的查询,拿到的是一个queryset对象列表

# 3.get()        直接拿数据对象 但是条件不存在直接报错

# 4.first()      拿queryset里面第一个元素
# res = models.User.objects.all().first()
# print(res) # 拿到queryset对象列表里的第一个数据对象

# 5.last()
# res = models.User.objects.all().last()
# print(res) # 同上,拿到的是最好一个

# 6.values()  可以指定获取的数据字段  select name,age from ...
# res = models.User.objects.values('name','age')
# print(res)  # 结果为:列表套字典<QuerySet [{'name': 'jason', 'age': 18}, {'name': 'egonPPP', 'age': 84}]>

# 7.values_list()
# res = models.User.objects.values_list('name','age')
# print(res) # 结果为:列表套元祖,<QuerySet [('jason', 18), ('egonPPP', 84)]>

# 8.query
#  print(res.query)  # 查看内部封装的sql语句
#  上述查看sql语句的方式  只能用于queryset对象
#  只有queryset对象才能够点击query查看内部的sql语句

# 9.distinct()  去重
# res = models.User.objects.values('name','age').distinct()
# print(res)
"""
去重一定要是一模一样的数据
如果带有主键那么肯定不一样 你在往后的查询中一定不要忽略主键
"""

# 10.order_by()
# res = models.User.objects.order_by('age')  # 默认升序
# res = models.User.objects.order_by('-age')  # 降序
# print(res)

# 10.reverse()  反转的前提是 数据已经排过序了  order_by()
# res = models.User.objects.all()
# res1 = models.User.objects.order_by('age').reverse()
# print(res,res1)

# 11.count()  统计当前数据的个数
# res = models.User.objects.count()
# print(res)

# 12.exclude()  排除在外
# res = models.User.objects.exclude(name='jason')
# print(res)

# 13.exists()  #基本用不到因为数据本身就自带布尔值  返回的是布尔值
# res = models.User.objects.filter(pk=10).exists() # 判读主键为10的是否存在,返回是布尔值
# print(res)

2.4.6 神奇的双下划线查询

__exact:等值查询 
__contains:包含指定值--区分大小写   a2=Book.objects.filter(name____contains=‘n') 查询出名字里包含n的
__icontains:包含指定值--忽略大小写
__startwith:以xxx开始
__endwith:以xxx结尾
__gt:大于指定值,例如:a2=Book.objects.filter(id__gt=3)
__gte:大于等于
__it:小于
__ite:小于等于
__in:查找数据是否在指定范围内 a2=Book.objects.filter(id__in=[1,3,5])
__range:查询数据是否在指定区间范围内 a2=Book.objects.filter(id__range=[1,5]) 查询出id在1-5的收尾都要
a2=Book.objects.filter(reGISter_time__month='1'):查询出月份是1月的数据
a2=Book.objects.filter(register_time__year='2022'):查询出年份在2022的数据

2.5 多表数据操作

2.5.1 orm创建表关系

表的关系有三种,分别是:一对一、一对多、多对多

判断表和表之间的关系:换位思考法

具体创建表关系语法:

"""
图书和出版社:一对多关系,外键建在多的一方
图书和作者:多对多关系,外键建在任何一方,但是推荐建在查询频率高的一方
作者和作者详情:一对一关系,外键建在任何一方,但是推荐建在查询频率高的一方
"""
class Book(models.Model):
    title = models.CharField(verbose_name='书名',max_length=32)
    price = models.DecimalField(max_digits=8,decimal_places=2)
    create_time = models.DateTimeField(auto_now_add=True)
    # 一对多外键建在多的一方,to='是需要建立外键的那一个类名publish'
    # 注意:在django2、3里面需要指定级联删除参数on_delete=models.CASCADE
    publish = models.ForeignKey(to='Publish',on_delete=models.CASCADE)
    # 多对多外键建在查询频率高的一方,多对多在sql语句中需要自己手动建第三张表,但是在django中,django遇到会自动帮你创建第三张表!
    author = models.ManyToManyField(to='Author')

class Publish(models.Model):
    name = models.CharField(max_length=32)
    addr = models.CharField(max_length=64)
    email = models.EmailField()

class Author(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    # 一对一外键建在查询频率高的一方,需要指定on_delete
    author_detail = models.OneToOneField(to='AuthorDetail',on_delete=models.CASCADE)

class AuthorDetail(models.Model):
    phone = models.BigIntegerField()
    addr = models.CharField(max_length=64)

2.5.2 一对多关系的增删改

from app01 import models
# 1.增
# 法1:直接写book表里面的外键的实际字段名,然后指定关联publish的id就行
models.Book.objects.create(title='活着',price=33,publish_id=1)
# 法2:虚拟字段,传入一个具体的publish的数据对象就行
publish_obj = models.Publish.objects.filter(pk=2).first()
# 注意这里需要.first()一下,因为不点拿到的是queryset对象,点一下拿到queryset里的具体数据对象
models.Book.objects.create(title='我',price=555,publish=publish_obj)

# 2.删
models.Publish.objects.filter(pk=2).delete() # 将book里关联id=2的也全部删除

# 3.改
# 法1:update里面传具体需要修改的外键字段名和值
models.Book.objects.filter(pk=2).update(publish_id=2) # 将id为2的书的关联publish_id改成2
# 法2:update里面传入虚拟字段publish=需要关联的publish数据对象,同增的法2

2.5.3 多对多关系的增删改

# 1.增
# 一本书对应多个作者,先查出这个书的对象,在通过对象.多对多字段名.add()方法关联作者id
# add()方法里面可以法数字1,2,3,表示关联作者的主键值;还可以放具体的作者数据对象!!
book_obj = models.Book.objects.filter(pk=1).first()
book_obj.author.add(1,2)
author_obj = models.Author.objects.filter(pk=1).first()
book_obj.author.add(author_obj)

# 2.删
# 删除这边书关联的作者id为1和2的,和add方法一样也支持里面放具体的作者数据对象!!
book_obj.author.remove(1,2)

# 3.改
# set方法修改该书关联的作者id为1和3,set方法和add方法一样也支持里面放具体的作者数据对象!!
# 注意:set方法里面必须放一个可迭代对象,比如列表!
book_obj.author.set([1,3])

# 4.清空当前书和作者的对应关系
book_obj.author.clear()

2.5.4 多表的查询操作

查询的时候,分正方向查询,外键字段在我手上,我查你就是正向查询;反之,不在我手上,我查你就是反向查询。

查询口诀:正向查询按字段,反向查询按表名小写;

1.基于对象的多表查询

 from app01 import models

    # 1.查询书籍主键为1的出版社名称 ----正向一对多查询
    book_obj = models.Book.objects.filter(pk=1).first() # 先得到主键为1的书籍对象
    res = book_obj.publish # 正向查询按字段,Book表里面有一个publish字段,返回一个与主键1关联的出版社对象
    print(res)
    print(res.name) # 对象.的方法查询具体的字段属性
    print(res.addr)

    # 2.查询书籍主键为1的作者----正向多对多查询
    book_obj1 = models.Book.objects.filter(pk=1).first()
    res = book_obj1.author.all() # 不.all()返回的是一个app01.Author.None
    print(res) # .all()返回的是<QuerySet [<Author: Author object (1)>, <Author: Author object (2)>]>,书籍id为1对应两个作者
    print(res.first().name) # 通过.first().name 方式获取作者的具体信息

    # 3.查询作者王的电话 ----正向一对一查询
    author_obj = models.Author.objects.filter(name='王').first()
    res = author_obj.author_detail
    print(res) # 返回的是AuthorDetail object (1),是一个作者详情对象
    print(res.phone) # .字段查出对应作者的详情信息
    """
    总结:正向查询时,当你的结果可能是多个的时候,就需要加.all(),如果是一个直接拿到数据对象
    """

    # 4.查询出版社是东风出版社的书----反向一对多查询
    publish_obj = models.Publish.objects.filter(name='东风').first()
    res = publish_obj.book_set.all()
    print(res)

    # 5.查询作者是王写过的书----反向多对多查询
    author_obj = models.Author.objects.filter(name='王').first()
    res = author_obj.book_set.all()
    print(res)

    # 6.查询电话号码是122324233的作者
    author_detail_obj = models.AuthorDetail.objects.filter(phone=122324233).first()
    res = author_detail_obj.author
    print(res.name)
    """
    总结:反向查询的时候,如果结果为多个,就需要加_set.all();如果是一对一结果就一个,就不用!
    """

2.基于双下划线__的多表查询

 from app01 import models

    # 1.查询王这个作者的年龄和手机号--正向一对一查询
    # 先得到王这个对象,然后.values,里面放需要查询的字段名,正向则直接'字段名';反向则'表名小写__字段名'
    res = models.Author.objects.filter(name='王').values('age','author_detail__phone')
    print(res) # 得到的是一个queryset对象(列表里套了一个字典)
    dict = res.first()  # .first()方法取到该字典对象
    print(dict['age']) # 字典方式取到具体需要的值
    # 反向查询
    res = models.AuthorDetail.objects.filter(author__name='王').values('phone','author__age')
    print(res)

    # 2.查询书籍主键为1的出版社名字和书的价格---正向一对多查询
    res = models.Book.objects.filter(pk=1).values('price','publish__name')
    print(res)
    # 反向查询
    res = models.Publish.objects.filter(book__id=1).values('name','book__price')
    print(res)

    # 3.查询书籍主键为1的作者姓名和书籍名称
    res = models.Book.objects.filter(pk=1).values('title','author__name')
    print(res)
    # 反向查询
    res = models.Author.objects.filter(book__id=1).values('name','book__title')
    print(res)
	
    # 4.终极大招:查询书籍主键为1的作者的电话号码!!!---跨了book、author、author_detail三张表查询
    res =models.Book.objects.filter(pk=1).values('author__author_detail__phone')
    print(res)
    # 反向查询
    res = models.Author.objects.filter(book__id=1).values('author_detail__phone')
    print(res)

2.6 字段类型与字段选项

from django.db import models

# Create your models here.
class MyBook(models.Model):
    # 1.字符串字段类型CharField,必须传的字段选项是max_length=指定最大字符数,verbose_name=''指定该字段在django后台管理中的描述名
    name = models.CharField(max_length=32,verbose_name='姓名')
	
    # 2.数字字段类型IntegerField
    age = models.IntegerField()
	
    # 3.日期时间字段类型DateTimeField
    register_time = models.DateTimeField(auto_now_add=True)
	
    # 4.日期字段类型
    register_time = models.DateField(auto_now_add=True)
	
    # 针对这两个字段类型,有两个关键性参数
    # auto_now:每次操作数据的时候,该字段会自动将当前时间更新
    # auto_now_add:在创建数据的时候会自动将当前时间记录下来,以后只要不认为修改就一直不变
	
    # 5.邮箱字段
    email = models.EmailField()
	
    # 6.大数字字段类型
    phone = models.BigIntegerField()
	
    # 7.小数字段,有两个字段选项max_digits=8,表示连小数一共8位;decimal_places=2,表示小数部分2位。
    price = models.DecimalField(max_digits=8,decimal_places=2)
	
    # 8.布尔型字段,传入参数是False\True,在数据库中对应0\1
    boolean = models.BooleanField(False)
	
    # 9.文本字段类型,没有字数限制,大文本
    text = models.TextField()
	
    # 10.文件字段类型,upload_to=''参数:给该字段传一个文件对象,会自动将该文件保存在/data目录下,如何把该文件的路径传到数据库中
    file = models.FileField(upload_to='/data')
	
    自定义字段暂略

2.7聚合查询

聚合函数通常是和分组一起使用的,关键字.aggregate()方法

 # 先导入五个聚合函数
    """
    小技巧:只要跟数据库相关的模块,基本上都在django.db.models里面
    如果没有则可能在django.db里面
    """
    from django.db.models import Sum,Avg,Min,Max,Count
    # 1.求书这个表里面的价格平均值和总合和最大值...单独使用需要使用.aggregate方法
    res = models.Book.objects.aggregate(Avg('price'),Max('price'),Sum('price'))
    print(res)

2.8分组查询

分组查询关键字annotate

# 1.统计每本书的作者个数
    res = models.Book.objects.annotate(author_num=Count('author')).values('author_num')
    print(res)
    """
    说明:
    1.分组查询的关键字是annotate
    2.models后面点什么,就是按什么分的组
    3.author_num是自己自定义的字段,用来存统计出来的每本书对应的个数
    4.count里面的author指的是统计作者的个数
    5.values('author_num')是取出统计出来的作者个数
    """

    # 2.统计每个出版社卖的最便宜书的价格
    res = models.Publish.objects.annotate(book_price=Min('book__price')).values('name','book_price')
    print(res)
    print('=========')
    # 3.统计作者个数不止一个的图书
    # 先按图书分组,求出图书对应的作者个数;再filter过滤出作者个数大于1的
    res = models.Book.objects.annotate(author_num=Count('author')).filter(author_num__gt=1).values('title','author_num')
    print(res)

    # 4.查询每个作者出的书的总价格
    res = models.Author.objects.annotate(book_price=Sum('book__price')).values('name','book_price')
    print(res)

    """
    那么如何按照字段分组呢?
    models.Book.objects.values('price').annotate()  
    # 如果annotate前面出现了values,则它将不在按照book分组,而是按照values分组
    """

2.9F与Q查询

2.9.1F查询

# F查询
    # 1.查询卖出数大于库存数的书籍
    # F查询
    """
    能够帮助你直接获取到表中某个字段对应的数据
    """
    from django.db.models import F # 导入f模块
    # res = models.Book.objects.filter(maichu__gt=F('kucun')) #f括号里放的是对应的字段名
    # print(res)


    # 2.将所有书籍的价格提升500块
    # models.Book.objects.update(price=F('price') + 500)


    # 3.将所有书的名称后面加上爆款两个字
    """
    在操作字符类型的数据的时候 F不能够直接做到字符串的拼接
    """
    from django.db.models.functions import Concat
    from django.db.models import Value  # 先导入Concat和Value模块
    models.Book.objects.update(title=Concat(F('title'), Value('爆款')))
    # models.Book.objects.update(title=F('title') + '爆款')  # 所有的名称会全部变成空白

2.9.2Q查询

# Q查询
    # 1.查询卖出数大于100或者价格小于600的书籍
    # res = models.Book.objects.filter(maichu__gt=100,price__lt=600)
    """filter括号内多个参数是and关系,并不能得到结果"""
    from django.db.models import Q # 导入q模块,实现或和not功能
    # res = models.Book.objects.filter(Q(maichu__gt=100),Q(price__lt=600))  # Q包裹逗号分割 还是and关系
    # res = models.Book.objects.filter(Q(maichu__gt=100)|Q(price__lt=600))  # | or关系
    # res = models.Book.objects.filter(~Q(maichu__gt=100)|Q(price__lt=600))  # ~ not关系
    # print(res)  # <QuerySet []>

    # Q的高阶用法  能够将查询条件的左边也变成字符串的形式
    q = Q()
    q.connector = 'or'
    q.children.append(('maichu__gt',100))
    q.children.append(('price__lt',600))
    res = models.Book.objects.filter(q)  # 默认还是and关系
    print(res)

到此这篇关于django中操作mysql数据库的方法的文章就介绍到这了,更多相关django操作mysql内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: django中操作mysql数据库的方法

本文链接: https://lsjlt.com/news/33966.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • django中操作mysql数据库的方法
    目录1.准备工作(django连接数据库)2.django操作数据库(ORM)2.1 ORM简介2.2 创建表和字段2.3 字段的增删改查2.4 单表数据的增删改查2.4.1单表数据的查询2.4.2单表数据的增加2.4....
    99+
    2024-04-02
  • pymysql操作mysql数据库的方法
    目录前言1、pymysql.connent2、conn.cursor()3、cursor.execute()4、cursor.executemany()5、cursor.fetchone()6、cursor.scroll...
    99+
    2023-04-19
    pymysql操作mysql数据库 pymysql操作mysql
  • django操作多数据库
    1、    添加数据库路由分配文件 在项目文件夹里创建‘database_router’文件。将下面的代码复制到该文件里。 from django.conf import settings DATABASE_MAPPING =...
    99+
    2023-01-30
    操作 django
  • django基础之数据库操作方法(详解)
    Django 自称是“最适合开发有限期的完美WEB框架”。本文参考《Django web开发指南》,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触Django ,本文...
    99+
    2022-06-04
    详解 操作方法 数据库
  • 基本操作mysql数据库的方法
    下文主要给大家带来基本操作mysql数据库的方法,希望这些内容能够带给大家实际用处,这也是我编辑基本操作mysql数据库的方法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库的基本操作:Sql...
    99+
    2024-04-02
  • 操作MySQL数据库的高级方法
    下文主要给大家带来操作MySQL数据库的高级方法,希望这些内容能够带给大家实际用处,这也是我编辑操作MySQL数据库的高级方法这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。1.数据备份与还原(1)...
    99+
    2024-04-02
  • NodeJS链接MySql数据库的操作方法
    如下所示: //1.用npm命令安装mysql模块 npm install mysql //2.js文件中引入mysql模块 const mysqlModule = require('mysql'); //...
    99+
    2022-06-04
    操作方法 链接 数据库
  • 操作mysql数据库表的基本方法
    下面一起来了解下操作mysql数据库表的基本方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望操作mysql数据库表的基本方法这篇短内容是你想要的。表的操作表示数据库存储数据的基本单位,由若干个字段组成...
    99+
    2024-04-02
  • python操作mysql数据库的方法介绍
    下面讲讲关于python操作mysql数据库的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完python操作mysql数据库的方法这篇文章你一定会有所受益。 &n...
    99+
    2024-04-02
  • PHP7原生MySQL数据库的操作方法
    这篇文章主要讲解了“PHP7原生MySQL数据库的操作方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP7原生MySQL数据库的操作方法”吧!1、连接到 MySQL服务器mysqli_...
    99+
    2023-06-20
  • Python操作使用MySQL数据库方法
    下面一起来了解下Python操作使用MySQL数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望Python操作使用MySQL数据库方法这篇短内容是你想要的。一,安装mysql 如果是w...
    99+
    2024-04-02
  • django的数据库ORM进阶操作
    1、数据库查询的三种方式 正向查询: (1)获取全部数据all     v1=models.UserInfo.objects.all().first()    #取出Querryset类型数据,里面是对象,需循环取出     v1.ut  ...
    99+
    2017-08-05
    django的数据库ORM进阶操作 数据库入门 数据库基础教程 数据库 mysql
  • node操作MySQL数据库的方法有哪些
    这篇文章主要介绍“node操作MySQL数据库的方法有哪些”,在日常操作中,相信很多人在node操作MySQL数据库的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node操作MySQL数据库的方法...
    99+
    2023-07-05
  • CMDB之Django 数据库ORM操作
    CMDB实现数据展示功能部分代码。 views.py def asset(request):     asset = Asset.ob...
    99+
    2024-04-02
  • 【MySQL】数据库的操作
    目录 前言 创建数据库 编码集和校验集 不同校验集的区别 删除数据库 确认当前数据库 查看数据库属性 修改数据库属性 备份与还原 数据库和表的备份 还原 创建表 查看列结构 查看表属性 修改表的列 修改表名称  修改列名称 删除表 前言...
    99+
    2023-09-14
    数据库 mysql
  • mysql-数据库的操作
    系统数据库执行如下命令,查看系统所有的数据库mysql> show databases;+--------------------+| Database           |+---...
    99+
    2023-01-30
    操作 数据库 mysql
  • 【MySQL】数据库——库操作
    文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码...
    99+
    2023-10-20
    数据库 mysql
  • pycharm中django框架连接mysql数据库的方法
    目录1、首先下载安装pymysql模块。 2、导入库 4、注意:不要忘记了在数据库中创建该数据库 5、连接mysql数据库 6、测试程序能否能连接上 1、首先下载安装pym...
    99+
    2024-04-02
  • MySql数据库操作
    MySql数据库操作 –登录MySql:——–Windows环境进入cmd后输入mysql –h localhost –u root –p,再输入密码就可以启动mysql;其中localhost是...
    99+
    2024-04-02
  • 操作MySQL数据库
    SQL是什么    SQL是结构化查询语言,这是一种计算机语言,用于存储,操纵和检索存储在关系数据库中的数据。    SQL是关系数据库系统的标准语言。所有关系型数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作