MySQL数据分析(16)— 数据操作之增删改查
前面我们说学习MySQL要从三个层面,四大逻辑来学,三个层面就是库层面,表层面和数据层面对吧,数据库里放数据表,表里放数据是吧,大家可以回忆PPT中jacky的这图,我们已经学完了库层面和表层面,从本小节课程,开始我们学习数据层面的相关内容,那怎么学呢,是不是还是老套路,要按照我们四大逻辑也就是增删改查来说,jacky说表的增删改查,重点在于增,那前面呢,jacky也用了好几个小节来讲表层面的增,那jacky说数据层面的增删改查重点在于查,那本节课程,jacky讲概括性的讲解数据操作的增删改查,为了方便逻辑清晰和帮助大家记忆这部分SQL,jacky给大家总结了SQL模型,简化大家学习,好,现在开始我们的讲解;
,
sql 是什么意思
- 中文翻译叫结构化查询语句,所以说sql这门语言,关键是用于查询,所以它叫结构化查询语言,它怎么不叫结构性插入语言或者叫结构性删除语言,所以sql这门语言主要是搞查询的
数据的操作,无外乎增删改查
增
我们看一下,怎样在MySQL数据库里输入数据,我们之前用过,怎样插入数据,本小节呢,我们要详细的学一下
如何在往表里插入数据,如何更有效的插入数据
如何把另一个查询的结果插入
增-增加数据-insert:
- 那jacky给大家总结一下,新增数据的基本语法:
insert into + 表名 + [(字段列表)] + values (值列表);
insert into demo(name) values('jacky2');
1.1 向表中插入单条数据
通用语法:
insert into 表名 (字段1,字段2) values (值1,值2);
我们使用insert语句,往数据表里插入数据的时候,我们into后面跟的是我们这张表的名称,表里面是有字段,字段1和字段2,我们使用逗号隔开,当然有多个字段,我们还可以使用逗号继续隔开,那值1代表的是字段1的值,值2代表的是字段2的值,
格式知道了,下面jacky给大家一个小的实例:
insert into demo(name) values(‘jacky2’);
1.2 向表中插入多条数据
通用语法:
insert into 表名 (字段1,字段2) values (值1,值2),(值3,值4),(值5,值6);
1.3 如何将查询结果插入到数据表中
insert 语句还可以将select语句的查询结果插入到数据表中(不重要)
insert 语句我们看到可以给数据表里插入数据,我们可以指定插入数据的列和值,那我们说insert还有一个高级功能,可以将select的查询结果插入到表中;如果将另一个表中的查询信息插入数据表中,我们就不需要一条一条插入了,
语法格式(高级):insert into 表1(字段1,字段1)select (表2的字段) from 表2 where
把表2的查询结果放在表1里,这里要注意的是表2的字段个数一点要与表1的字段个数相同,数据类型也要相同,否则是要报错的,
增加记录的语法比较简单,我们在之前的举例中也说过,
删-删除数据-delete:
与更新类似,可以通过limit来限制删除的数量。
- 基本语法: delete + from + 表名 + [where 条件];
- 高级语法: delete + from + 表名 + [where 条件] + [limit 删除数量];
用delete删除我们的数据表,不会重置我们主键自增,也就id的编号,如果要重置,
我们先把demo表清空,delete from demo; select * from demo;我们查询是空表,但是是空表只是记录没有的,但是它的autoincreament的值并没有重置,show create table demo;我们可以看一下,他在插入值时从16开始, 那我们如何重置呢?我们可以通过truncate来实现(彻底清空数据表)
改-更改数据-updata:
更改数据的基本语法:update + 表名 + set + 字段 = 值 + [where 条件] + [limit 更新数量]
把demo表中的id=2的人 更改为jacky3
update demo set name = ‘jacky3’ where id =2;
- 这里jacky要强调的是更改数据的语法后面一定要加where,如果不加where的话,会将整个表中的name字段都改成jacky3,所以实际工作中涉及到改的SQL语句,一定要加上where,这里jacky强调一下,数据操作的增删改查只有查和增可以不带where ,其余的删改必须带上where; ,否则一删一改就是一张表,影响很大;
一次性更改多个值,中间用逗号隔开
- update demo set id = 66,name = ‘jacky2’ where id =2;
查-查询数据-select:
select 是查某一个表的列所对的所有值
where 是从列所对的所有记录里面精确的找到一些记录,我们不想用select * ,我们想要id = 2 的人,就可以select * from demo where id =2;
这里jacky总结一下,就是select 和where 只能加字段
where 后面做文章
delete from demo where id>=3 and id<=5;
delete from demo where id between 3 and 5;
delete from demo where id=1 or id=3 or id=5;
delete from demo where id in(1,3,5);
- 上面有些东西,是不是比较陌生了,但是没关系,我们记住就行了,理解上都很简单
MySQL数据分析(16)— 数据操作之增删改查的更多相关文章
- Redis简单的数据操作(增删改查)
#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...
- Mysql数据表的增删改查
---恢复内容开始--- Mysql数据表的增删改查 1.创建表 语法:CREATE TABLE 表名(字段1,字段2,字段3.......) CREATE TABLE `users` ( `us ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- MySQL数据库安装,MySQL数据库库的增删改查,表的增删改查,表数据的基本数据类型
一 MySQL的安装 MySQL现在属于甲骨文公司,所以和java语言匹配度较高,同时甲骨文公司的另一种数据库为Oracle,两者同为关系型数据库,即采用关系模型来组织数据,以行和列的方法来存储数据的 ...
- Mysql学习笔记(六)增删改查
PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into table_name values(" ...
- 用SpringBoot+MySql+JPA实现对数据库的增删改查和分页
使用SpringBoot+Mysql+JPA实现对数据库的增删改查和分页 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述 ...
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- C# - VS2019 通过DataGridView实现对Oracle数据表的增删改查
前言 通过VS2019建立WinFrm应用程序,搭建桌面程序后,通过封装数据库操作OracleHelper类和业务逻辑操作OracleSQL类,进而通过DataGridView实现对Oracle数据表 ...
- AngularJS中使用$http对MongoLab数据表进行增删改查
本篇体验使用AngularJS中的$http对MongoLab数据表进行增删改查. 主页面: <button ng-click="loadCourse()">Load ...
随机推荐
- 12.2备库rman使用delete删除归档日志报错RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
问题: 客户环境12.2 dg备库环境,定时清理归档脚本并未正常清理归档日志文件. 观察日志可以发现存在如下信息 RMAN-08137: WARNING: archived log not delet ...
- 西门子软件sinutrain-for-sinumerik-operate-v4.8安装报错的处理
西门子软件sinutrain-for-sinumerik-operate-v4.8安装报错的处理 安装时报错提示: 原因: 可能缺少某些文件 处理: 安装 海康ivms-4200后,可直接安装西 ...
- Asp.Net Core 存储Cookie 的问题
Asp.Net Core 2.1生成的项目模板默认实现了<欧洲常规数据保护法规 (GDPR)>支持.这就使得我们的程序要想成功的存储除了用户身份以外的cookie通常是需要用户同意的. 3 ...
- django-两种方式对单表的操作
单表操作的内容 我们这里对数据库单表的操作包含增删改查四部分 具体链接数据库的方式我们是通过pymysql,当然你也可以用其他的. 两种方式的概念与区别 1.新url的方式 主要就是我们每一次向后台提 ...
- Golang内存管理
Golang 内存管理 原文链接[http://legendtkl.com/2017/04/02/golang-alloc/] Golang 的内存管理基于 tcmalloc,可以说起点挺高的.但是 ...
- 什么是DDOS
什么是DDOS?分布式拒绝服务攻击(Distributed Denial of Service).百度的解释有一个形象的例子我认为比较好理解,照搬如下: 一群恶霸试图让对面那家有着竞争关系的商铺无 ...
- stm32F1 DMA
DMA,全称是Direct Memory Access,中文意思为直接存储器访问 DMA可用于实现外设与存储器之间或者存储器与存储器之间数据传输的高效性 DMA请求映像 各通道的DMA1请求: 各通道 ...
- TDDL生成全局ID原理
TDDL 在分布式下的SEQUENCE原理 TDDL大家应该很熟悉了,淘宝分布式数据层.很好的为我们实现了分库分表.Master/Salve.动态数据源配置等功能. 那么分布式之后,数据库自增序列肯定 ...
- gitlab中的几个常用界面(runner管理、gitlab-ci.yml管理、runner token管理、新建用户、拉用户入工程、拉用户入组、复制工程导入组)
目录: 1.runner管理 2.gitlab-ci.yml管理 3.runner token管理 4.新建用户 5.拉用户入工程 6.拉用户入组 7.复制工程导入组 1.runners界面 http ...
- 15.Vue组件中的data
1.组件中展示数据和响应事件: // 1. 组件可以有自己的 data 数据 // 2. 组件的 data 和 实例的 data 有点不一样,实例中的 data 可以为一个对象 // 3. 但是组件中 ...