--------------------------------------------合并结果集SELECT UNION ----------------------------------------------------------
SELECT 'HAHA',1,52
UNION--联合,将查询的两个结果集合并,*结构一致才能合并到一起,结构不一致则会报错
SELECT '嘿嘿',1,52

SELECT 'HAHA',1,52
UNION all
SELECT '嘿嘿',1,52
--常见面试题:
--1.union 并集时,结果集要求结构一致
--2.union 和 union all 的区别:
--union 重复数据显示1次
--union all 完全显示数据,即使重复也多次显示。
---------------------------------------------子查询(添加多行)-------------------------------------------------------------------
USE Student
--A.添加多行数据:
--insert [into] name[(列的列表)] --values(值的列表),(值的列表)....
--将查询结果添加到表中(技术:子查询)

INSERT INTO lesson(ccode,cname,cnum)
SELECT'C001','C#编程基础',32 union
SELECT'C002','C#OOP',36 UNION
SELECT'C003','C#FRAME',36
SELECT * FROM lesson

-----------------------------------表的备份SELECT * INTO info_bak FROM info--------------------------------------
--实现表的备份(复制到其他表中
--1. 生成表 查询 ,select into
-- 准备:查询
USE Student
SELECT * --负责列的显示
FROM info --数据的来源
WHERE sname='赵明月' --查询的条件
SELECT sunmb FROM info

SELECT sname FROM info WHERE sname LIKE '%月%'
--egA :
--备份info表到info_bak中
--生成表 查询 select into 包含了两个功能:1.创建新表info_bak 2.插入查询数据
--1.info_bak 2.插入查询数据
SELECT * INTO info_bak FROM info
SELECT * FROM info_bak

--egB:
--备份空的info表到info_bak1中
SELECT * INTO info_bak1 FROM info WHERE sunmb=0
SELECT * FROM info_bak1
--egC:
--把数据备份到已存在的表中
--将 info 表中的女同学信息,备份到info_bak1中.
--info_bak1:插入数据(从info表中查出来的)
--操作(zichaxun)
INSERT INTO info_bak1
SELECT * FROM info WHERE sex=0

SELECT * FROM info_bak1

----------------------------------------------修改UPDATE--------------------------------------------------------
--修改:update
--语法:
--UPDATE tab_name SET colname=val,colname=val
--eg1.
UPDATE info SET address='北京海淀'
WHERE sname='赵月'
SELECT * FROM info

--eg2.
--将学号是4的同学的基本信息,修改成你本人的信息
UPDATE info SET sname='清瑞',sex=1,birthday='1992-01-01',address='山西永济程胡庄八组',tel='13520179329'
WHERE sunmb=4
SELECT * FROM info

--eg3.
--将tel是010开头的同学的地址改成北京市
UPDATE info SET address='北京市'
WHERE tel LIKE '010%'
SELECT * FROM info

------------------------------------------------删除DELETE-------------------------------------------------------
--删除:DELETE(行)
--语法:DELETE [FROM] tab_name
-------WHERE [筛选行] 如果不写,将删除所有行
--eg1.
DELETE FROM info WHERE sunmb=1
SELECT * FROM info

--eg2.
--清空 info(删除所有行)
DELETE info
SELECT * FROM info
--truncate table 截断表
--先DROP TABLE 再 CREATE TABLE 是DDL操作
--语法:
TRUNCATE table info
--(截断表和删除清空表都是删除所有行,保留表结构,but DELETE重新添加数据后ID是继续,TRUNCATE重新添加数据后ID是从1开始)
--(DELETE 橡皮擦 TRUNCATE 撕纸)

--****面试题:
--1. DELETE 删除表中所有数据是否记录日志,是否能恢复? DML
--记录日志是对行数据的删除行为,是可以恢复的.

--2. TRUNCATE TABLE 是否记录日志,是否能恢复? DDL
--如果是oracle:DDL操作不记录事务日志,不可恢复.
--如果是sqlserver:DDL操作被记录,记录的是数据页的操作,所以在sqlserver数据库能恢复

--3. 这两种操作如果是删除海量数据表格的数据,哪个效率更高?
--truncate table 效率高,因为它是以数据页为单位删除和记录日志,所有相对于delete来讲它的操作和记录次数少,所以效率会更高.
--删除数据的时候delete用的比较多,更加灵活.

009.增删查改语法(sql实例)的更多相关文章

  1. C# SQLite 创建数据库的方法增删查改语法和命令

    SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页 ...

  2. mysql数据库技术1——基本的增删查改的sql语句

    1.数据库语言的分类 DDL:数据库定义语言 data Definition language 用于创建.修改.和删除数据库内的数据结构,如: 1:创建和删除数据库(CREATE DATABASE | ...

  3. SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)

    SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...

  4. 常用SQL语句(增删查改、合并统计、模糊搜索)

    转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...

  5. SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)

    SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...

  6. EF各版本增删查改及执行Sql语句

    自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...

  7. jdbc的实例应用:增删查改实现

    //在jdbc中进行增删查改 //查看所有 public static void findAll() { String url = "jdbc:mysql://localhost:3306/ ...

  8. hibernate基础增删查改简单实例

    hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的 ...

  9. backbonejs mvc框架的增删查改实例

    一:开发环境 coffeescript和nodejs需要先安装,没装网上自己查安装步骤. 代码编写环境及esp框架下载: esp框架下载地址:https://github.com/nonocast/e ...

随机推荐

  1. Flutter之Dio引入和简单的Get/Post请求

    先在pubspec.yaml中引入Dio包如图所示 认识Dio库:dio是一个dart的 http请求通用库,目前也是大陆使用最广泛的库,国人开发,完全开源. flutter的插件包管理:学了引入di ...

  2. linux下maven环境的搭建

    1.maven的下载 2.maven的安装和环境变量配置 系统环境linux centos7.2 x64 1.maven的下载 下载地址:https://mirrors.tuna.tsinghua.e ...

  3. 首款物联网防火墙himqtt开源

    随着5G的推进和物联网的快速推进,MQTT已然是物联网(Internet of Things,IoT)不可或缺的标准协议,预计到2025年将有超过750亿台设备连接到互联网,但物联网方面的防火墙很少. ...

  4. GitLab中批量更换路径并保留历史记录

    git-change-path.sh #!/bin/bash cat git-name.txt | while read line do echo $line git clone --mirror g ...

  5. 关于Android的资源id

    1 @+id/xx 这个表示向资源文件中添加一个新的id. @+id是在R文件中生成int xxx=value. 有两种情况 ①R文件中不存在xxx变量,则生成int xxx=value即为控件新建一 ...

  6. Hanlp-地名识别调试方法详解

    HanLP收词特别是实体比较多,因此特别容易造成误识别.下边举几个地名误识别的例子,需要指出的是,后边的机构名识别也以地名识别为基础,因此,如果地名识别不准确,也会导致机构名识别不准确. 类型1 数字 ...

  7. 【LOJ】#2239. 「CQOI2014」危桥

    LOJ#2239. 「CQOI2014」危桥 就是先把每条边正着连一条容量为2的边,反着连一条容量为2的边 显然如果只有一个人走的话,答案就是一个源点往起点连一条容量为次数×2的边,终点往汇点连一个次 ...

  8. Python实现二叉树的非递归中序遍历

    思路: 1. 使用一个栈保存结点(列表实现): 2. 如果结点存在,入栈,然后将当前指针指向左子树,直到为空: 3. 当前结点不存在,则出栈栈顶元素,并把当前指针指向栈顶元素的右子树: 4. 栈不为空 ...

  9. 三种SpringSecurity方法级别权限控制

    一 JSR-250注解 1.在pom.xml添加 <dependency> <groupId>javax.annotation</groupId> <arti ...

  10. git太慢用码云

    克隆完之后,我们要对这个仓库进行下修改,将仓库地址修改为git的那个 git remote set-url origin xxxx.git 经过以上操作,这个仓库就和从github上克隆下来的一模一样