【SQL.基础构建-第四节(4/4)】
-- Tips:数据更新
--一、插入数据
--1.INSERT 语句的基本语法
--语法:
--INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, 值2, ...)
--示例
INSERT INTO dbo.conbio
( conbio_id ,
conbio_name ,
conbio_varieties ,
conbio_price1 ,
conbio_price2 ,
conbio_date
)
VALUES ( '0011' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE() -- conbio_date - date
);
------------------
select * from conbio --查询表名为conbio的表.
--------------------------------------
--(1)列名和值用逗号隔开,分别放在括号里,这种形式称为清单。
( shohin_id ,
shohin_mei ,
shohin_bunrui ,
hanbai_tanka ,
shiire_tanka ,
torokubi
)
--列清单 --字段
------------------
( '0011' , -- shohin_id - char(4)
'T 恤衫' , -- shohin_mei - varchar(100)
'衣服' , -- shohin_bunrui - varchar(32)
1000 , -- hanbai_tanka - int
500 , -- shiire_tanka - int
GETDATE() -- torokubi - date
)
--值清单 --记录
------------------
INSERT INTO dbo.conbio
( conbio_id ,
conbio_name ,
conbio_varieties ,
conbio_price1 ,
conbio_price2 ,
conbio_date
)
VALUES ( '0014' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE() -- conbio_date - date
),
( '0015' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE() -- conbio_date - date
);
--------------------------------------
--3.插入 NULL 值
INSERT INTO dbo.conbio
VALUES ( '0016' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
NULL , -- conbio_price2 - int
GETDATE() -- conbio_date - date
);
--【备注】插入 NULL 值的列不能设置为 NOT NULL 约束。
--------------------------------------
select * from conbio --查询表
--------------------------------------
----添加列
select * from conbio;
alter table Conbio add conbio_name_test001 varchar(100);
--------------------------------------
----删除列
ALTER TABLE conbio DROP COLUMN conbio_name_test001;
--------------------------------------
--4.插入默认值
--示例:创建表时设置默认值
CREATE TABLE ConbioIns
(
id CHAR(4) NOT NULL,
num INT DEFAULT 0 --DEFAULT 默认约束
)
-- select * from conbioins 查表
--示例:INSERT 时显示插入默认值
INSERT INTO dbo.conbioins
( id, num )
VALUES ( '002', -- id - char(4)
DEFAULT -- num - int
)
--示例:INSERT 隐式插入默认值
INSERT INTO dbo.conbioins( id )
VALUES ('003')
--【备注】建议使用显示的方式插入值。如果插入的时候隐式省略了列名,并且该列没有指定默认值的时候,
--该列的值会被设定为 NULL(如果省略的列设置了 NOT NULL 约束的话,执行会报错)。
--【总结】省略 INSERT 语句的列名,就会自动设定该列的默认值(没有默认值时会设定为 NULL)。
--------------------------------------
--5.从其它表复制数据
--语法
--INSERT ...
--SELECT ...
--示例
INSERT dbo.conbioins
( id, num )
SELECT conbio_id, conbio_price2
FROM dbo.conbio
--示例
INSERT INTO dbo.conbioins
( id, num )
SELECT id=1, num =2;
--示例
INSERT INTO dbo.conbioins
( id, num )
SELECT 1, 2;
-- select * from conbioins 查表
--【备注】INSERT 语句中的 SELECT 语句中,可以使用 WHERE 子句或者 GROUP BY 子句等任何 SQL 语法。(但使用 ORDER BY 子句并不会产生任何效果。)
--------------------------------------
-- 二、删除数据
-- 1.2 种 删除数据的方法:
--(1)DROP TABLE 语句:删除表
--(2)DELETE 语句:删除表的数据
--语法
--DELETE FROM <表名>;
--示例
DELETE FROM dbo.conbioins; --此表数据删除为空所有
--【备注】DELETE 语句删除的对象是记录(行),不是表和列。
--------------------------------------
--2.指定删除对象的 DELETE 语句
--语法
--DELETE FROM <表名>
--WHERE <条件>;
--示例
DELETE FROM dbo.conbio
WHERE conbio_price1 >= 1000; --条件删除记录行
--【备注】可以通过 WHERE 子句指定对象条件来删除部分数据。
--【备注】DELETE 语句中不能使用 GROUP BY、HAVING 和 ORDER BY 三类子句。
--【备注】如果要删除表全部数据时请使用 TRUNCATE <表名>,它比 DELETE 子句更高效。
--select * from conbio --查表
--------------------------------------
--三、更新数据
--1.UPDATE 子句的基本语法
--语法
--UPDATE <表名>
-- SET <列名> = <表达式>
--2.指定条件的 UPDATE 语句
--语法
--UPDATE <表名>
-- SET <列名> = <表达式>
--WHERE <条件>;
--示例
UPDATE dbo.conbio
SET conbio_price2 = conbio_price2 * 10
WHERE conbio_varieties = '厨房用具';
--3、使用 NULL 进行更新
--示例
UPDATE dbo.conbio
SET conbio_date = NULL
WHERE conbio_id = '008';
--【备注】只有未设置 NOT NULL 约束和主键约束的列才可以清空为 NULL。
--------------------------------------
--4.多列更新
--示例
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 * 10, --逗号分割
conbio_price2 = conbio_price2 / 2
WHERE conbio_varieties = '厨房用具'
--------------------------------------
--四、事务
--1.事务:需要在同一个处理单元中执行的一系列更新处理的集合。
--2.创建事务:
--语法
--事务开始语句
-- DML 语句①;
-- DML 语句②;
-- ...
--事务结束语句(COMMIT 或 ROLLBACK);
--(1)COMMIT - 提交处理:提交事务包含的全部更新处理的结束指令。一旦提交,无法恢复到事务开始前的状态。
--(2)ROLLBACK - 取消处理:取消事务包含的全部更新处理的结束指令。一旦回滚,数据库就会回复到事务开始之前的状态。
------------------
--示例
begin transaction;
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 - 1000
WHERE conbio_name = '叉子';
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 + 1000
WHERE conbio_name = '叉子';
DELETE FROM dbo.conbio WHERE conbio_id = '6';
rollback; -- COMMIT 承诺
--------------------------------------
--3.ACID 特性
-- (1)原子性(Atomicity):在事务结束时,其中包含的更新处理要么全部执行,要么完全不执行。
-- (2)一致性(Consistency):事务中包含的处理,要满足数据库提前设置的约束,也称完整性。
-- (3)隔离性(lsolation):保证不同事务之前互不干扰的特性。
-- (4)持久性(Durability):事务一旦结束,DBMS 会保证该时点的数据状态得以保存的特性,也称耐久性。
--------------------------------------
--欢迎关注个人公众号:Zkcops
--2018/04/16
由:zkcops 撰写(希望能对你有所帮助,转载注明出处!)
--------------------------------------
【SQL.基础构建-第四节(4/4)】的更多相关文章
- 【SQL.基础构建-第一节(1/4)】
-- Tips:数据库与sql-- 一.What's 数据库-- 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.-- ...
- 【SQL.基础构建-第二节(2/4)】
-- Tips:查询基础 --一.SELECT 语句基础-- 1.查询指定列:SELECT 关键字--语法:--SELECT <列名>, ... -- 希望查询列的名称- ...
- SQL基础语法(四)
SQL ORDER BY 子句 ORDER BY 语句用于对结果集进行排序. ORDER BY 语句 ORDER BY 语句用于根据指定的列对结果集进行排序. ORDER BY 语句默认按照升序对 ...
- 【SQL.基础构建-第三节(3/4)】
-- Tips:聚合和排序 -- 一.对表进行聚合查询 -- 1.聚合函数 -- (1)5 个常用函数: -- ①COUNT:计算表中的记录(行)数. -- ②SUM:计算表中数值列的 ...
- HTML学习笔记 cs2D3D展示基础 第十四节 (原创) 参考使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- (大数据工程师学习路径)第四步 SQL基础课程----select详解
准备 在正式开始本内容之前,需要先从github下载相关代码,搭建好一个名为mysql_shiyan的数据库(有三张表:department,employee,project),并向其中插入数据. 具 ...
随机推荐
- 创建.NET Core程序的Nuget Package
最近在看ASP.NET Core MVC的教材,几乎每章开始都要重复从Empty project开始创建一个ASP.NET Core的项目,然后手动修改project.json,增加经典三目录(Mod ...
- ORACLE 分页 java 用jdbc方式以 sys账号连接oracle数据的问题
2,3,4,6,8 betwenen 为闭区间,前后都包括 select * from(select a.*,rownum rn from (select * from student) a ) ...
- JAVA泛型——协变
在上篇<JAVA泛型——基本使用>这篇文章中遗留以下问题,即将子类型Table或者也能添加到父类型Auction的泛型中,要实现这种功能必须借助于协变. 实验准备 现在在<JAVA泛 ...
- vue中添加Echarts图表的使用,Echarts的学习笔记
项目中需要使用一些折线图.柱状图.饼状图等等,之前使用过heightCharts(关于heightCharts请看我的另一篇 http://www.cnblogs.com/jasonwang2y60/ ...
- MVC缓存(一)
//OutputCache是设置缓存,参数Duration设置缓存的过期时间,OutputCache可以加到Controller上,也可以加到Action上,但是当Controller与Action都 ...
- Docker学习之Docker容器基本使用
Docker学习之Docker容器基本使用 新建容器并启动 命令格式:docker run --options repository:tag 后台运行 命令格式:-d 已存在的容器相关操作 启动:do ...
- Grpc helloworld demo的经验
GreeterGrpc.java这个文件是插件protoc-gen-grpc-java生成的 刚开始直接用类似如下的指令无法生成GreeterGrpc.java文件 protoc --java_ou ...
- PHP 获取当前类名、方法名、URL地址
1.PHP获取当前类名.方法名 __CLASS__ 获取当前类名 __FUNCTION__ 当前函数名(confirm) __METHOD__ 当前方法名 (bankcard::confir ...
- .NET 垃圾回收浅解
在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景. 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功 ...
- 【设计模式】observer(观察者)-- 对象行为型模式5.7
1.意图 对象之间一对多的依赖关系,当目标对象发生改变时,所有依赖于它的对象都要得到通知并自动更新 2.别名 依赖,发布-订阅 3.动机 1)需要确保相互协作的对象的一致性(数据要保持一致),但一致性 ...