精华内容
下载资源
问答
  • MySql的增删改查

    2017-11-15 18:40:13
    数据库作为数据的管理储存工具,承担的作用不言而喻,而SQL语句就是传统数据库的核心语句,主要是数据的增删改查 默认表user,对表进行增删改查的操作 一:修改 修改sex=0,而flag=2的数据密码与flag值 ...

      数据库,作为数据的管理储存工具,承担的作用不言而喻,而SQL语句就是传统数据库的核心语句,主要是数据的增删改查

    默认表为user,对表进行增删改查的操作

    一:修改

    修改sex=0,而flag=2的数据密码与flag值

    update user set pwd = "1023456",flag=3 where sex=0 and flag =2

    修改   表名      行     新              条件        

    二:删除

    删除userid为6 的数据

    delete from user where userid=6

    删除         表            条件

    三:增加

    向user表中添加用户名为zhang,密码为124568的数据

    insert into user (username,pwd)values ("zhang","1234568")

    增加        表         项                    添加的值

    四:查询

    SELECT*FROM user  where userid =1(查询id=1的所有信息)

    查询         表          条件

    五:修改别名,

    SELECT pwd (密码),username (用户名) FROM user  where userid =2(查询一项或某几项信息)
            查询信息                别名
    SELECT DISTINCT username from user  查询结果中重复的被消除
            消除重复


    六:模糊查询

    SELECT*FROM emp where ename like '%s%'   查询ename中包含S的数据      %一个或多个占位
    SELECT*FROM emp where ename like 's%'    查询ename中以S开头的数据
    SELECT*FROM emp where ename like '_m%'   查询ename中第二位为M的数据   '_一个占位

    七:详细查找
    SELECT*FROM emp where empno=7369 or empno=7521  查询empno为7369或7521的数据

    SELECT*FROM emp WHERE empno=7782 and sal=1250   查询empno为7782并且sal=1250

    注意or与and的使用范围和情况

    展开全文
  • 在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁,DbContext是负责与数据交互作为对象的...

    >DbContext类是EntityFramework (简称 EF)中的一个类,可以理解为一个数据库对象的实例。在 EF中,无需手动的拼接 SQL 语句对数据库进行增删改查,而是通过 DbContext 来进行相应操作。DbContext类是实体框架的重要组成部分。它是您的域或实体类与数据库之间的桥梁,DbContext是负责与数据交互作为对象的主要类。所以我们将实体赋值,然后把值和操作交给Dbcontext类,由它完成对数据库的操作。
    在这里插入图片描述

    增加:

     //添加一个实体对象
                NewsListTable newsList = new NewsListTable();
                newsList.NewsTitle = "拍视频";
                newsList.NewsDate = DateTime.Now;
                newsEntities.NewsListTable.Add(newsList);//先添加到上下文中
                //告诉EF,向数据库保存更新
                newsEntities.SaveChanges();//根据xml文件表映射关系生成sql脚本更改数据库数据
    

    更新:

                NewsListTable newsList = new NewsListTable();
                newsList.NewsTitle = "听音乐";
                newsList.NewsDate = DateTime.Now;
                newsList.NewsId = 31;//更新删除操作,必须声明ID列(根据ID主键列生成sql脚本更改数据)
                newsEntities.Entry<NewsListTable>(newsList).State = EntityState.Modified;//告诉EF,已对此实体做出更新 
                newsEntities.SaveChanges();
    
       //修改部分列:
       newsEntities.NewsListTable.Attach(newsList);//让上下文实体管理newlist
       //设置修改列
       newsEntities.Entry(newsList).Property(u => u.NewsDate).IsModified = true;
       newsEntities.Entry<NewsListTable>(newsList).Property("NewsDate").IsModified = true;//不推荐硬编码
    

    删除:

                NewsListTable newsList = new NewsListTable();
                newsList.NewsId = 31;//要删除的主键ID
                //告诉EF,我们已对此实体执行删除操作
                newsEntities.Entry<NewsListTable>(newsList).State = EntityState.Deleted;//删除
                newsEntities.SaveChanges();
    

    Linq查询:

               IQueryable<NewsListTable> temp = from u in newsEntities.NewsListTable  where u.NewsId>5 orderby u.NewsId descending select u ;
               foreach (var item in temp)
                {
                    Console.WriteLine(item.NewsId + " " + item.NewsTitle);
                }
    

    Lambda表达式筛选:.出

    //与Link表达式运行原理一样  Lambda-->Expression
    IQueryable<Customers> data = modelData.Customers.Where(u => u.CtmId > 1);//使用lambda表达式筛选查询
    

    查询多个指定列:

    var customers = from u in modelData.Customers where u.CtmId > 0 && u.CtmId < 5 select new { cid=u.CtmId,cname=u.CtmName};//new {  cid = u.CtmId, uname = u.CtmName }使用匿名类来定义查询的字段
    

    分页查询:

    //Lambda表达式:
    IQueryable<Customers> datas=modelData.Customers.Where(u => u.CtmId > 0).OrderBy(u => u.CtmId).Skip((3-1)* 5).Take(5);
    
    //Linq表达式:
    IQueryable<Customers> ulist = (from u in modelData.Customers where u.CtmId> 0 orderby u.CtmId descending select u).Skip((3 - 1) * 5).Take(5); 
    

    模糊查询:

                   IQueryable<Customers> customers = from data in modelData.Customers
                        //where data.CtmName.Contains("e")模糊查询
                   where data.CtmName.StartsWith("张")
                   select data;
    

    Linq To EF:
    在这里插入图片描述

    展开全文
  • Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象。因此用ORM来操作数据库相当快捷。今天来介绍一下用ORM操作...
  • 通常我们要操作数据库,都是用sql语句,来对数据库进行增删改查。这使得开发者不仅要学习高级语言,还要学习sql语句。 现在,我们使用Django作为后端开发框架,我们不需要通过sql语句来操作数据库,而是通过对象。这...

    作为一个顶级网站后端框架,Django展示出了其特有的能力。我们知道,一个应用,无论是App还是网站,一个很重要的功能就是要与数据库进行交互。在Django这里,它给我们提供了便利。通常我们要操作数据库,都是用sql语句,来对数据库进行增删改查。这使得开发者不仅要学习高级语言,还要学习sql语句。

    现在,我们使用Django作为后端开发框架,我们不需要通过sql语句来操作数据库,而是通过对象。这让开发容易了很多。Django框架能够为我们处理底层的与数据库交互的操作。

    接下来,我们就开始吧!

    数据库的选择:

    Django适合多种常用的数据库,当然对于开发者来说,我们选择使用的是关系型数据库。常用的开源的数据库有 mysql 和 postgresql。

    由于MySQL这些数据库安装有点麻烦,我们这里采用的是比较简单的本地数据库SQLite。在本地开发时选择这个,等到项目完成时,转移至服务器时,我们可以将数据库修改了MySQL等,修改时很容易,只需要修改一些配置。例如数据库的地址、用户名、密码等等信息。

    所以,在此,我们选择SQLite。

    SQLite下载地址,该数据库不需要进行配置,下载解压即可使用。

    创建数据库:

    在Django项目的setting.py文件中,找到DATABASES,这是对数据库的类型选用。我们使用的是SQLite。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

    如果是其他类型的数据库:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': '127.0.0.1',
            'PORT': '5432',
        }
    }
    

    在这里插入图片描述
    要生成这个数据库(db.sqlite3),你可以执行下面这个命令。

    python manage.py migrate
    

    接着使用SQLiteStudio打开这个数据库。
    在这里插入图片描述
    打开之后,你会发现这里会有一些地动生成的表,这些表是Django框架的一些表,比如Django有一个自己的管理员界面,其中要存管理员信息,就有一个管理员信息表。
    在这里插入图片描述
    数据库已经创建好了,接下来就是要创建表了。创建表之前,你要了解如何去创建一个表,如何去操作一个表(增删改查)。

    上面已经说了,在Django的基础上,我们不需要SQL语句,而是通过对象来完成操作。
    Django 可以让开发者 通过 类 和 实例的操作 来对应 数据库 表 和记录的操作。

    Django 里面, 数据库表的操作,包括 表的定义、表中数据的增删改查,都可以通过 Model 类型的对象进行的。

    • 定义一张数据库的表 就是定义一个继承自 django.db.models.Model 的类

    • 定义该表中的字段(列), 就是定义该类里面的一些属性

    • 类的方法就是对该表中数据的处理方法,包括 数据的增删改查

    至此,我们就是摆脱了底层的sql语句,转为面向对象的类的定义和方法的结合操作数据库。
    这种 通过 对象 操作数据库 的方法 被称之为 ORM (object relational mapping)

    创建数据库表:

    通常在一个系统中,在数据库这块,我们把一些公关数据表单独放到一个app模块中。
    那么,我们就使用命令,创建一个app模块来创建数据库公共表。

    python manage.py startapp common 
    

    前面已经说过,Django是通过定义类来定义数据库表的。
    所以,我们要定义数据库的表,无需执行sql语句,只需要在app目录下面 定义特殊的类就可以了。

    数据库表的定义,一般是放在app目录中的 models.py里面的。
    接着,我们写入一些创建表的代码:

    from django.db import models
    class Users(models.Model):      #定义用户类,用来创建用户信息的表
        #用户名称
        name = models.CharField(max_length=200)
    
        #用户电话
        phone = models.CharField(max_length=100)
    
        #用户住址
        addr = models.CharField(max_length=500)
    
    

    这个 Users 类继承自 django.db.models.Model, 就是用来定义数据库表的。

    CharField 对象,对应 varchar类型的数据库字段。后面的参数 max_length 指明了该 varchar字段的 最大长度。
    当然除了CharField之外,Django还有许多其他类型,比如:BooleanField、DateField、DateTimeField等等。可查看官方文档

    在上面的代码中,我们定义了表的几个字段,接着我们要创建该表。

    要创建该表,你就要告诉Django,我们的 common 应用中 需要你关注(也就是让Django判断文件是否被修改), 因为其中包含了 数据库Model的定义。

    打开项目中的配置文件settings.py文件,INSTALLED_APPS 配置项 加入如下内容:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'catalog.apps.CatalogConfig',
        'common.apps.CommonConfig',    #加入此行代码
    ]
    

    ‘common.apps.CommonConfig’ 告诉 Django , CommonConfig 是 common/apps.py 文件中定义的一个应用配置的类。

    现在Django知道了我们的 common 应用, 我们可以在项目根目录下执行命令:

    python manage.py makemigrations common
    

    common是你创建的公共的数据库的app名称。如果有多个,可以直接在common后面,空格添加。
    执行上面命令之后,如下所示。
    在这里插入图片描述
    接着,你去common文件下打开migrations会发现多了一个文件。该文件正是你刚所创建的表。
    在这里插入图片描述
    0001_initial.py文件内容。

    # Generated by Django 3.0.3 on 2020-05-19 11:51
    
    from django.db import migrations, models
    
    
    class Migration(migrations.Migration):
    
        initial = True
    
        dependencies = [
        ]
    
        operations = [
            migrations.CreateModel(
                name='Users',
                fields=[
                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('name', models.CharField(max_length=200)),
                    ('phone', models.CharField(max_length=100)),
                    ('addr', models.CharField(max_length=500)),
                ],
            ),
        ]
    
    

    然后我们要创建该表到数据库中了,执行命令:

    python manage.py migrate
    

    在这里插入图片描述
    打开数据库,就出现了你刚刚所创建的表:
    在这里插入图片描述
    如果你在原来那个表的基础上,增加或者减少了字段,修改之后,继续执行上面两个命令:

    1.  python manage.py makemigrations common
    2. 	python manage.py migrate
    

    Django框架管理员入口:

    Django提供了一个管理员操作界面可以方便的 添加、修改、删除你定义的 model 表数据。

    首先,我们需要创建 一个超级管理员账号。

    进入到项目的根目录,执行如下命令,依次输入你要创建的管理员的 登录名、email、密码。

    python manage.py createsuperuser
    

    在这里插入图片描述
    注意密码至少8个字符。
    在这里插入图片描述
    创建成功之后,我们在数据库中管理员表中会看到多了一条数据,这里密码是经过加密的。所以说,Django框架自带有数据库安全设置。

    然后我们需要修改应用里面的 管理员 配置文件 common/admin.py,注册我们定义的model类。这样Django才会知道,其实这块代码是在我们登录管理员界面之后,会出现我们刚创建的Users表:

    from django.contrib import admin
    from .models import Users
    # Register your models here.
    admin.site.register(Users)
    

    然后启动服务,打开管理员界面:
    http://127.0.0.1:8000/admin
    在这里插入图片描述
    在这里插入图片描述
    我们可以点击userss页面,进行添加数据。保存之后,数据将存到数据库中。
    在这里插入图片描述
    不过现在看来,一切操作都有点low,因为管理端界面不是我们自己写的,而是Django框架自带的管理员界面。所以,通常管理员界面需要我们自己再进行开发。

    从数据库中获取数据:

    获取数据库信息也不是件很难的事情,我们只需要通过简单的对象和方法就可以获取到数据。

    首先,我们要有一个路径,去请求获取数据库某个表数据信息。就拿user/ifo路径为例:
    如果你不懂Django路由,可参考: Django路由,一篇文章带你彻底了解
    当我们访问:http://127.0.0.1:8000/user/ifo/时,就会去获取数据库该表中全部信息。
    在这里插入图片描述
    具体代码该如何写呢?往下看:

    我们在user模块下的views.py文件中,写获取数据库信息的代码:

    from django.shortcuts import render
    from common.models import Users   #导入操作数据库表的类
    from django.http import HttpResponse
    # Create your views here.
    def userIfo(request):        #当访问user/ifo时执行该函数,发送已给请求
        ifo = Users.objects.values()   #通过对象操作数据库,获取数据库信息
        userifo = ''
        for IFO in ifo:    #将数据循环出来
            for name,value in IFO.items():
                userifo += f'{name}:{value}|'
            userifo += '<br>'
        return HttpResponse(userifo)  #返回请求的信息
    
    

    上面这种方式时获取一个数据库表中的所有数据,那往往我们有时获取部分数据,比如通过某个条件进行筛选。

    接下来,我们在通过筛选电话进行获取数据库信息。
    接着,我们访问的时候,链接上应该加上参数,这个通常是在前端页面的表单中输入一个值,提交的时候该值作为参数,当然可以有多个参数。

    访问链接:http://127.0.0.1:8000/user/ifo/?phone=18569547823
    在这里插入图片描述
    我们只需要在views.py文件中对数据库的查询增加查询条件:
    判断请求参数中是否有参数,如果有就就行筛选。

    from django.shortcuts import render
    from common.models import Users
    from django.http import HttpResponse
    # Create your views here.
    def userIfo(request):
        ifo = Users.objects.values()
        cs = request.GET.get('phone',None)  #判断请求时是否有参数phone,如果有cs就为phone,就执行if语句,如果没有cs就等于None,就不执行if语句
        if cs:
            ifo = ifo.filter(phone=cs)  #filter方法是进行筛选
        userifo = ''
        for IFO in ifo:
            for name,value in IFO.items():
                userifo += f'{name}:{value}|'
            userifo += '<br>'
        return HttpResponse(userifo)
    
    

    filter方法是一个过滤条件。
    有了这个过滤条件,Django 会在底层执行数据库查询的SQL语句 加上相应的 where 从句,进行过滤查询。

    下面一篇文章,我们将继续深入Django学习!

    展开全文
  • 3.基本sql语句

    2019-08-06 22:05:03
    1.对数据库(文件夹)的操作 ​ show databases; 查看所有的数据库 ​ use 数据库的名字; 使用数据库 ​ create database 数据库的名字 ​ ​ drop database 数据库名; ​ alter database db1 charset gbk...

    ;作为SQL语句的结束符

    1.对数据库(文件夹)的操作

    show databases; 查看所有的数据库

    use 数据库的名字; 使用数据库

    create database 数据库的名字

    drop database 数据库名;

    alter database db1 charset gbk; 将数据库db1的编码格式改为gbk

    show create database db1; 查看当前创建的数据库

    show databases; 查看所有的数据库

    2.对表(文件)的操作

    create table 表名(表头信息eg: id int,name char(10));

    drop table 表名;

    alter table 表名 modify 表头信息;

    alter table 表名 name NAME char(7); 修改表头信息,将name改为NAME

    show tables; 查看所有的表

    show create table 表名; 查看创建的表

    desc 表名; 查看表的详细信息

    3.对记录(数据)的操作

    insert 表名(id,name) values(1,"mjj01"),(2,"mjj02");

    insert into 表名 values(); 插入空的记录

    delete from t1; 删除t1中所有的记录

    delete from t1 where id=2; 删除t1表中id为2的记录

    delete from t1 where name="alex"; 删除t1表中name为alex的记录

    update t1 set name='wusir'; 将t1表中所有的记录的name改为wusir

    update t1 set name='wusir' where id=1; 根据id改name

    update t1 set id=1 where name="wusir"; 根据name改id

    select id from user; 查user表中所有的id

    select name from user; 查user表中所有的name

    select * from user; 查user表中的全部信息

    展开全文
  • 此次采购管理系统用 java 语言实现,用MySQL作为后台的数据库进行信息的存储,用SQL语句完成人员表、设备信息表、供应商信息表、采购信息表的四个操作。用JDBC驱动实现前台Java与后台SOL数据库的...
  • 七、详细设计 ...存储过程可以简单的理解在SQL服务器上创建小函数,它们有名字、参数,通过调用这些小函数,我们可以完成对表的操作,相当于把SQL语句放在了服务器上,并且是经过编译的...
  • 在软件开发中肯定免不了和数据库打交道,我们数据的增删改查最终会转化SQL在数据库中执行。从SQLServer中查出数据一般有两种方式:一是ADO.NET直接写SQL语句从数据中查出数据,另一种是利用ORM框架得到数据。...
  • 而且作为一个测试,其实在日常工作中对数据库的初级运用也就只是增删改查语句了。 1、什么要使用IN操作?其优点具体如下: a).在使用长的合法选项清单时,in操作符的语言更清楚且更直观; b).在使用in...
  • 除了实现数据的增删改查,数据访问层还要提供一些与业务无关功能,例如面向对象的持久化与访问机制、本地事务与分布式事务支持、多数据库支持,这些机制或功能形成相对独立的逻辑领域,其主要目的有: <br>1、 ...
  • 初识三层架构

    2013-02-15 21:25:38
    通过这两天的对三层架构的学习,对三层架构逐渐有了初步的认识 概述 首先三层架构通常意义上划分表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。...DAL:操作数据库,对数据库增删改查
  • 2 创建库、表我们先从创建数据库、数据表说起,有了库表,后面的增删改查才有根据。2.1 创建数据库pymysql的所有对数据库的操作都必选先与数据库服务建立连接,然后创建游标基础执行具体的sql语句。创建数据库方法...
  • pymysql指南

    2019-07-24 22:04:00
    我们先从创建数据库、数据表说起,有了库表,后面的增删改查才有根据。 2.1 创建数据库 pymysql的所有对数据库的操作都必须先与数据库服务建立连接,然后创建游标基础执行具体的sql语句。创建数据...
  • springBoot作为一个轻量级的java开发框架,在许多的方面提出了相应的解决方案。 一般来说基于springBoot的项目基本分为以下几个...dao层的作用访问数据库,向数据库发送sql语句,完成数据的增删改查任务。 Service
  • C#全能速宝典

    热门讨论 2014-04-26 16:16:27
    《C#全能速宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
  • 故在Hibernate中每一条记录都对应相应的对象,对表中记录的CRUD(增删改查)则对应为对对象的save/delete/update/get操作.由于Hibernate全封装类型的框架,开发人员并不能直接框架中的SQL语句进行优化,所以其效率堪...
  • hive学习

    2019-07-24 08:56:03
    Hive是Hadoop的一个数据仓库工具,它可以将结构化的数据文件映射到一张数据表之中持久化在HDFS上,并提供类似于SQL的HQL语言来数据表进行等操作。它底层会将HQL语句转化MapReduce任务进行执行。 ...
  • 1. 基于Struts2框架进行编程设计,连接MySQL数据库实现数据的增删查改,应用Jsp、HTML、CSS、JavaScript访问页面进行编写和美化。 2. 分别创建book表和user表,用以存放图书信息和用户数据。其中user表中,设有...
  • MySQL命令大全

    2018-01-15 11:19:17
    例如,往表 MyClass中插入二条记录, 这二条记录表示:编号的名Tom的成绩.45, 编号 的名Joan 的成绩.99,编号 的名Wang 的成绩.5. mysql>insert into MyClass values(1,’Tom’,96.45),(2,’Joan...
  • MATLABMYSQL爬虫-zhgd.m

    2019-08-12 22:04:44
    %执行增删改查操作 cur = fetch;%返回结果,最后得到的数据以cell格式,存在cur.Data中复制代码 参数解析: database; 第一个参数:数据库的名称,就是要操作的数据库的名称 第二个参数:用户名 第三个参数:密码...
  • MYSQL常用命令大全

    2011-05-30 13:31:24
    例如,往表 MyClass中插入二条记录, 这二条记录表示:编号1的名Tom的成绩96.45, 编号2 的名Joan 的成绩82.99,编号3 的名Wang 的成绩96.5. mysql> insert into MyClass values(1,'Tom',96.45),(2,...
  • 把对象数据库的操作封装成一套API,具有操作数据库增删改查等操作,而且具有独立性,当持久层技术层发生改变时,不用修改任何业务层代码. JPA : 本身是一种ORM规范,不是ORM框架. 由各大ORM框架提供实现. Hibernate : ...
  • oracle实验报告

    2019-01-10 19:29:58
    在块中对数据库查询,等对数据的操作是由SQL命令完成的。在PL/SQL块中,可以使用SQL的数据查询命令,数据操纵命令和事务控制命令。可使用全部SQL函数。PL/SQL中的SQL语句,可使用SQL的比较操作等运算符...
  • 03 DOM节点的增删改查与属性设值 04 正反选练习 05 js练习之二级联动 06 jquery以及jquery对象介绍 07 jquery选择器 08 jquery的查找筛选器 09 jquery练习之左侧菜单 第44章 01 jquery属性操作之html,text,val方法...
  • SQL语法大全

    2014-03-30 11:00:11
    COUNT(*|字段名) 数据行数的统计或某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

对数据库作为增删改查语句为