-
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的使用范围和情况
-
Entity_Framework的基本使用(增删改查)
2020-03-04 17:16:04在 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中ORM表的创建和增删改查方法示例
2020-12-25 13:58:57Django作为重量级的Python web框架,在做项目时肯定少不了与数据库打交道,编程人员对数据库的语法简单的还行,但过多的数据库语句不是编程人员的重点对象。因此用ORM来操作数据库相当快捷。今天来介绍一下用ORM操作... -
-
-
-
-
Django操作数据库,一篇文章带你彻底了解
2020-05-20 16:15:15通常我们要操作数据库,都是用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:031.对数据库(文件夹)的操作 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---采购系统(满分)
2019-04-23 21:59:15此次采购管理系统用 java 语言实现,用MySQL作为后台的数据库进行信息的存储,用SQL语句完成对人员表、设备信息表、供应商信息表、采购信息表的增、删、改、查四个操作。用JDBC驱动实现前台Java与后台SOL数据库的... -
菜鸟也能飞:SQL数据库实战专业教程(三)
2017-07-10 14:19:00七、详细设计 ...存储过程可以简单的理解为在SQL服务器上创建小函数,它们有名字、参数,通过调用这些小函数,我们可以完成对表的增、删、查、改操作,相当于把SQL语句放在了服务器上,并且是经过编译的... -
C#利用反射将Datatable转化为指定实体类List<T>
2019-05-27 16:47:38在软件开发中肯定免不了和数据库打交道,我们对数据的增删改查最终会转化为SQL在数据库中执行。从SQLServer中查出数据一般有两种方式:一是ADO.NET直接写SQL语句从数据中查出数据,另一种是利用ORM框架得到数据。... -
《Mysql必知必会》笔记
2018-09-12 22:19:00而且作为一个测试,其实在日常工作中对数据库的初级运用也就只是增删改查语句了。 1、为什么要使用IN操作?其优点具体如下: a).在使用长的合法选项清单时,in操作符的语言更清楚且更直观; b).在使用in... -
AppFramework数据库访问组件_代码生成插件_V1.1.rar
2008-01-06 01:24:35除了实现数据的增删改查,数据访问层还要提供一些与业务无关功能,例如面向对象的持久化与访问机制、本地事务与分布式事务支持、多数据库支持,这些机制或功能形成相对独立的逻辑领域,其主要目的有: <br>1、 ... -
初识三层架构
2013-02-15 21:25:38通过这两天的对三层架构的学习,对三层架构逐渐有了初步的认识 概述 首先三层架构通常意义上划分为表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。...DAL:操作数据库,对数据库增删改查 -
python pymysql cursors_pymysql指南
2021-02-09 05:37:102 创建库、表我们先从创建数据库、数据表说起,有了库表,后面的增删改查才有根据。2.1 创建数据库pymysql的所有对数据库的操作都必选先与数据库服务建立连接,然后创建游标为基础执行具体的sql语句。创建数据库方法... -
pymysql指南
2019-07-24 22:04:00我们先从创建数据库、数据表说起,有了库表,后面的增删改查才有根据。 2.1 创建数据库 pymysql的所有对数据库的操作都必须先与数据库服务建立连接,然后创建游标为基础执行具体的sql语句。创建数据... -
springBoot中对于model层、dao层、service层、controller层的理解
2020-06-05 10:38:41springBoot作为一个轻量级的java开发框架,在许多的方面提出了相应的解决方案。 一般来说基于springBoot的项目基本分为以下几个...dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。 Service -
C#全能速查宝典
2014-04-26 16:16:27《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用... -
Hibernate框架的一级缓存与快照技术
2018-07-06 23:21:31故在Hibernate中每一条记录都对应相应的对象,对表中记录的CRUD(增删改查)则对应为对对象的save/delete/update/get操作.由于Hibernate为全封装类型的框架,开发人员并不能直接对框架中的SQL语句进行优化,所以其效率堪... -
hive学习
2019-07-24 08:56:03Hive是Hadoop的一个数据仓库工具,它可以将结构化的数据文件映射到一张数据表之中持久化在HDFS上,并提供类似于SQL的HQL语言来对数据表进行增、删、改、查等操作。它底层会将HQL语句转化为MapReduce任务进行执行。 ... -
基于Struts2的图书管理系统源代码
2018-02-07 21:53:031. 基于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的比较操作等运算符... -
python入门到高级全栈工程师培训 第3期 附课件代码
2018-06-07 09:38:4203 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:11COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum...
-
淘宝定向广告的演化
-
机器学习可视化软件机器学习可视化软件
-
libFuzzer视频教程
-
gdal2.x生成terrain地形数据-程序及说明.7z
-
华为1+X认证——网络系统建设与运维(初级)
-
Galera 高可用 MySQL 集群(PXC v5.7+Hapro)
-
DHCP 动态主机配置服务(在Linux环境下,配置单网段或跨网段提)
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
Nosql的四大分类
-
C语言零基础入门(详细讲解)
-
MySQL 高可用(DRBD + heartbeat)
-
马士兵 mybatis学习笔记
-
Kubernetes概述.pdf
-
Android Handler源码分析
-
2016通信中级互联网真题.pdf
-
中文分词词典UserDict.txt
-
[leetcode] 896. 单调数列 python 一次遍历
-
Unity RUST 逆向安全开发
-
记一次Maya使用入门
-
大数据开发之Hadoop学习2--Hadoop运行环境搭建