SQL基础整理(四) 数据的插入,删除和更新,以及事物
一.关于数据的插入 INSERT INTO 语句
1. 关于insert 的基本语法为 insert into 表名(需要插入的属性也就是列名) values(具体的值),其中多个列名之间用逗号分隔,多个values之间也用逗号分隔,如果是对表中全部的列名插入,那么则不需要指定列名
比如表中有一列叫做name,有一列叫做number,那么如果只对name进行插入,则应该写为
insert into 表名(name) values ('WE');
如果是说是对所有的列进行插入,则应该写为
insert into 表名 values('IG',20); 或者是 insert into(name,number) values('WE',20);
2. 原则上,执行一次insert语句向表中插入一行数据,但是在实际操作中,你要插入很多行数据,就需要写很多insert 语句,这是一个很麻烦的过程,那么下面介绍一个插入多行的方法,还是以前面提到的表为示例
insert into 表名 values('we',20),('ig',21),('edg',22),('rng',23);
但是 如果是在oracle中,则应该写成insert all into 表名values('we',20)
into 表名values('edg',22)
into 表名values('rng',23)
3.从其他表中复制数据
如果之前提过表名叫做student,现在有一张和他一模一样的表叫做student_2,两个表中的字段完全一样,我们想要把student中的数据复制到student_2中,语法如下
insert into student_2(name,number)
select name,number from student;
二.数据的删除 DELETE语法
1. 删除整张表 drop table student; 删除之后,数据库中就没有叫做student的表了
2. 删除表中的数据 delete from student where 条件; 如果不指定条件,则删除表中所有数据
3.介绍一种效率更高的删除整张表的语法 TRUNCATE 表名
三.数据的更新 UPDATE语法
1.首先 update是对表中已有的数据进行更新的操作
2. 基本语法 update student set name='SKT ' where 条件 同样的不写条件,则对表中所有行进行更新
3.多列更新-->两种语法,但是只对最通用的语法进行介绍
update student set name='SKT', number=4396 where 条件
四.事物
1. 事物这个概念和操作系统中的 原语 类似,对于一件事 要么不做 要么全做
2. 大家如果使用Oracle 中的sql plus 进行花式操作之后,直接关闭sql plus,那么当你再次打开的时候会发现,数据库中什么都没有,这就是因为 你退出之前忘记了保存,这就需要在最后写一个 commit;表示进行提交处理
3. 数据库对于事物是怎么看待的呢,首先 你需要指定出 事物的包含范围,即哪些语句算作一次事物
对于 MySQL 来说 START TRANSACTION 表示你开始了一个事物,当你打算结束这次事物的时候,可以写commit 或者是rollback
对于 Oracle,DB2 来说 不需要指定事物何时开始,只需要当你在事物结束的时候写commit 或者是 rollback
对于 SQL Sever 用 BEGIN TRANSACTION 表示事物的开始
4. 在上面提到了 commit 和rollback ,那么这两个是什么意思呢???
commit: 是提交事物包含的全部更新出来的结束指令,相当于文件处理中的覆盖保存,一旦提交无法回复
rollback: 是取消事物包含的全部更新出来的结束指令,相当于文件处理中的放弃保存,一旦确定 之前做的所有操作全部付之东流
SQL基础整理(四) 数据的插入,删除和更新,以及事物相关推荐
- SQL基础操作_4_表的插入、更新、删除、合并操作
目录 表的插入.更新.删除.合并操作 7.4.1 插入新的记录 7.4.2 插入含自增列的记录 7.4.3 插入新的多条记录 7.4.4 同时往多个表插入记录 7.4.5 通过其它表插入 7.4.6 ...
- [JAVA EE] JPA技术基础:完成数据列表的删除
接上一篇:[JAVA EE] JPA技术基础:完成数据列表显示 本章完成数据列表的删除 修改 UserController.java package com.example.demo.controll ...
- Bootstrap4+MySQL前后端综合实训-Day08-AM【多表查询sql语句、关联数据的假删除、自动增长主键的获取、栏目管理“数据编辑”按钮的实现】
[Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目 录 多表查询sql语句 关联数据的假删除(status状态码/数据可恢 ...
- mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...
1.内连接查询:inner join ... on 只有满足条件的记录才能够出现在结果关系中,即完全相等.自连接查询是一种特殊的内连接查询. 2.外连接查询: 1>左外连接 / 左连接:返回包括 ...
- 关于数据的级联删除和更新
两张表:"ProductCategory","Product". 有一个需求是这样的:在删除某个ProductCategory 的时候,同时删除该Categor ...
- 05_通过sql操作表中的数据_插入修改删除查询
123131 转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/7014978.html
- SQL基础(四):SQL命令
1.CREATE INDEX 语句 CREATE INDEX 语句用于在表中创建索引.在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引:在表中创建索引,以便更加快速高效地查询数据 ...
- SQL基础【四、Distinct】
Distinct选取所有的值的时候不会出现重复的数据 用普通的查询,查询所有 Select * from user Select distinct user_name,user_age from us ...
- SQL基础整理——例题
用一条SQL语句查询出T_score表中每门课都大于80分的学生姓名 name course score 张三 语文 81 张三 数学 80 李四 语文 76 李四 数学 90 李四 英语 75 se ...
- SQL基础整理(事务)
事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 具体的实现代码如下: 1 begin tran 2 insert into student values('111','王五',' ...
最新文章
- 2022-2028年中国木制拼板玩具市场调查研究报告
- 找到一本不错的Linux电子书,附《Linux就该这么学》章节目录。
- GDB多进程调试(转)
- 试图用Session Administration删除某用户的session时报错
- java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用
- FileOutputSteam入门
- threejs指定对象旋转中心
- Bzoj 3289: Mato的文件管理 莫队,树状数组,逆序对,离散化,分块
- java并发之如何解决线程安全问题
- centos7 install pip
- Gitea Extension for Visual Studio V1.0.62 发布
- 2022年深圳杯数学建模A题代码思路-- 破除“尖叫效应”与“回声室效应”,走出“信息茧房”
- 学习 react-native-sqlite-storage 案例
- Java深入(面试常见题)
- 【原创】Python 使用jmpy模块加密|加固 python代码
- 使用adb命令操控Android手机
- 数据可视化图表使用场景大全 !
- Jackson 序列化 自定义注解处理Null 值
- 计算机安全权限不足或配置文件损坏,配置文件加载失败 - Windows Server | Microsoft Docs...
- 蒙氏数学素材---乘法板及作业纸