SQL的简单教程(Mac下PostgreSQL的安装与使用)(2)

更新时间:2023-05-19 07:23:02 阅读: 评论:0

SQL 的简单教程(Mac 下PostgreSQL 的安装与使⽤)(2)
四、数据更新
4-1 数据的插⼊( 语句的使⽤⽅法)使⽤INSERT语句可以向表中插⼊数据(⾏)。原则上,INSERT语句每 次执⾏⼀⾏数据的插⼊。将列名和值⽤逗号隔开,分别括在()内,这种形式称为清单。对表中所有列进⾏INSERT操作时可以省略表名后的列清单。插⼊NULL时需要在VALUES⼦句的值清单中写⼊NULL。可以为表中的列设定默认值(初始值),默认值可以通过在CREATE TABLE语句中为列设置 DEFAULT 约束来设定。
插⼊默认值可以通过两种⽅式实现,即在INSERT语句的VALUES⼦句中指定 DEFAULT 关键字(显式⽅法),或省略列清单(隐式⽅法)。
使⽤INSERT…SELECT可以从其他表中复制数据。
什么是 INSERT
INSERT 语句的基本语法
列清单的省略-- 创建ProductIns 表的CREATE TABLE 语句CREATE  TABLE  "public"."productins" (  "pr
oduct_id" char (4) COLLATE  "pg_catalog"."default" NOT  NULL ,  "product_name" varchar (100) COLLATE  "pg_catalog"."default" NOT  NULL ,  "product_type" varchar (32) COLLATE  "pg_catalog"."default" NOT  NULL ,  "sale_price" int4 DEFAULT  0,  "purcha_price" int4,  "regist_date" date ,  CONSTRAINT  "productins_pkey" PRIMARY  KEY  ("product_id"));
1
2
3
4
5
6
7
8
9
围棋 英文10INSERT  INTO  <;表名> (列1, 列2, 列3, ......) VALUES  (值1, 值2, 值3, ......);-- 向表中插⼊⼀⾏数据INSERT  INTO  ProductIns (product_id ,product_name ,product_type ,sale_price ,purcha_price ,regist_date ) VALUES  ('0001', 'T 恤衫','⾐服', 1000, 500, '2009-09-20');-- 多次执⾏ INSERT 语句INSERT  INTO  ProductIns VALUES  ('0002', '打孔器','办公⽤品', 500, 320, '2009-09-11');INSERT  INTO  ProductIns VALUES  ('0003', '运动T 恤','⾐服', 4000, 2800, NULL );INSERT  INTO  ProductIns VALUES  ('0004', '菜⼑','厨房⽤具', 3000, 2800, '2009-09-20');-- 多⾏INSERT(Oracle 以外)INSERT  INTO  ProductIns VALUES  ('0002', '打孔器','办公⽤品', 500, 320, '2009-09-11'),('0003', '运动T 恤','⾐服', 4000, 2800, NULL ),('0004', '菜⼑','厨房⽤具', 3000, 2800, '2009-09-20');
1oneyear
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
插⼊ NULL
插⼊默认值
从其他表中复制数据
各种各样的 lect 语句-- 包含列清单INSERT  INTO  ProductIns (product_id , product_name , product_type , sale_price , purcha_price , regist_date ) VALUES ('0005', '⾼压锅', '厨房⽤具', 6800, 5000, '2009-01-15');  -- 省略列清单INSERT  INTO  ProductIns VALUES ('0005', '⾼压锅', '厨房⽤具', 6800, 5000, '2009-01-15');
1
2
3
4
5
6
7
dove8
9
10
11
12-- 向 purcha_price 列中插⼊ NULL INSERT  INTO  ProductIns (product_id ,product_name ,product_type ,sale_price ,purcha_price , regist_date ) VALUES  ('0006', '叉⼦', '厨房⽤具', 500, NULL , '2009-09-20');
1
2
3
4
5
6-- 通过显式⽅法插⼊默认值 ---- 在 VALUES ⼦句中指定 DEFAULT 关键字INSERT  INTO  ProductIns (product_id , product_name , product_type , sale_price , purcha_price , regist_date ) VALUES  ('0007',  '擦菜板', '厨房⽤具', DEFAULT , 790, '2009-04-28');-- 通过隐式⽅法插⼊默认值 INSERT  INTO  ProductIns  (product_id , product_name , product_type ,purcha_price , regist_date )  VALUES  ('0007', '擦菜板', '厨房⽤具',790, '2009-04-28');
1
2
3
4
5
6
7
8
9
10
11
12-- 创建ProductCopy 表的CREATE TABLE 语句CREATE  TABLE  ProductCopy (  "product_id" int4 NOT  NULL ,  "product_name" varchar (100) COLLATE  "pg_catalog"."default" NOT  NULL  DEFAULT  ''::character  varying ,  "product_type" varchar (32) COLLATE  "pg_catalog"."default" NOT  NULL  DEFAULT  ''::character  varying ,  "sale_price" numeric (10,2) NOT  NULL  DEFAULT  0,  "purcha_price" numeric (10,2) DEFAULT  NULL ::numeric ,  "regist_date" date ,  PRIMARY  KEY  ("product_id")); -- 从 Product 表中复制数据插⼊ ProductCopy 表中INSERT  INTO  ProductCopy (product_id , product_name , product_type , sale_price , purcha_price , regist_date )SELECT  product_id , product_name , product_type , sale_price ,  purcha_price , regist_date FR
OM  Product ;
1
2
3
4
5
cool fan
6
7
8
9
10
11
12
13
14
15
16
17
18
4-2 数据的删除(DELETE 语句的使⽤⽅法)如果想将整个表全部删除,可以使⽤ DROP TABLE 语句,如果只想删除 表中全部数据,需使⽤ DELETE 语句。
如果想删除部分数据⾏,只需在WHERE⼦句中书写对象数据的条件即可。 通过 WHERE ⼦句指定删除对象的 DELETE 语句称为搜索型 DELETE 语句。
DROP TABLE 语句和 DELETE 语句
不管使⽤哪种⽅法,删除数据时都 要慎重,⼀旦误删,想要恢复数据就会变得⼗分困难
chamonixDELETE 语句的基本语法
DELETE 语句常见错误
指定删除对象的 DELETE 语句(搜索型 DELETE)-- 创建ProductType 表的CREATE TABLE 语句CREATE  TABLE  "public"."producttype" (  "product_type" varchar (32) COLLATE  "pg_catalog"."default" NOT  NULL ,  "sum_sale_price" int4,  "sum_purcha_price" int4,  CONSTRAINT  "producttype_pkey" PRIMARY  KEY  ("product_type"));-- 插⼊其他表中数据合计值的INSERT ... SELECT 语句INSERT  INTO  ProductType (product_type ,sum_sale_price ,sum_purcha_price )SELECT  product_type ,SUM (sale_price ),SUM (purcha_price )FROM  Product GROUP  BY  product_type ;
1
2
3
4
5
6
7
8
9
10
11
12
13
grow什么意思14
15-- DROP TABLE 语句可以将表完全删除-- DELETE 语句会留下表(容器),⽽删除表中的全部数据
1
2-- 保留数据表,仅删除全部数据⾏的 DELETE 语句DELETE  FROM  <;表名>;-- 清空 Product 表DELETE  FROM  Product ;
1
2
bodyshop
3
4
5
清空表–截断表
4-3 数据的更新(UPDATE 语句的使⽤⽅法)使⽤UPDATE语句可以更改(更新)表中的数据。
更新部分数据⾏时可以使⽤WHERE来指定更新对象的条件。通过WHERE ⼦句指定更新对象的 UPDATE 语句称为搜索型 UPDATE 语句。UPDATE 语句可以将列的值更新为 NULL。
同时更新多列时,可以在UPDATE语句的SET⼦句中,使⽤逗号分隔更
新对象的多个列。
UPDATE 语句的基本语法
指定条件的 UPDATE 语句(搜索型 UPDATE)DELETE  FROM  <;表名> WHERE  <;条件>;-- 删除销售单价(sale_price)⼤于等于4000⽇元的数据DELETE  FROM  Product WHERE  sale_price >= 4000;
1
2
3
4
5
6TRUNCATE
1UPDATE  <;表名> SET  <;列名> = <;表达式>;
1-- 更新部分数据⾏的搜索型 UPDATE UPDATE  <;表名>SET  <;列名> = <;表达式>WHERE  <;条件>;-- 将商品种类为厨房⽤具的记录的销售单价更新为原来的 10 倍UPDATE  Product SET  sale_price = sale_price * 10WHERE  product_type = '厨房⽤具';
1
2
3
4
5
城乡规划专业就业前景
6
7
8
9
使⽤ NULL 进⾏更新
多列更新
4-4 事务
事务是需要在同⼀个处理单元中执⾏的⼀系列更新处理的集合。通过使⽤ 事务,可以对数据库中的数据更新处理的提交和取消进⾏管理。事务处理的终⽌指令包括COMMIT(提交处理)和ROLLBACK(取消处 理)两种。DBMS的事务具有:
通常将这四种特性的⾸字母结合起来,统称为 ACID 特性。
什么是事务much too soon
创建事务-- 使⽤ UPDATE 也可以将列更新为 NULL(该更新俗称为 NULL 清空)。-- 将商品编号为8的数据(圆珠笔)的登记⽇期更新为 NULL UPDATE  Product SET  regist_date = NULL WHERE  product_id = '8';
1
2
3
4
5-- 能够正确执⾏的繁琐的 UPDATE 语句-- ⼀条UPDATE 语句只更新⼀列 UPDATE  Product SET  sale_price = sale_price * 10 WHERE  product_type = '厨房⽤具';UPDATE  Product SET  purcha_price = purcha_price / 2WHERE  product_type = '厨房⽤具';-- 使⽤逗号对列进⾏分隔排列 UPDATE  Product SET  sale_price = sale_price * 10, purcha_price = purcha_price / 2WHERE  product_type = '厨房⽤具';-- 将列⽤()括起来的清单形式 UPDATE  Product SET  (sale_price , purcha_price ) = (sale_price * 10, purcha_price / 2)WHERE  product_type = '厨房⽤具';
1
2
3
4
5
6
考研考几天7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 原⼦性(Atomicity)、⼀致性(Consistency)、隔离性 (Isolation)和持久性(Durability)四种特性。
1在 RDBMS 中,事务是对表中数据进⾏更新的单位。
简单来讲,事务就是需要在同⼀个处理单元中执⾏的⼀系列更新处理的集合。
1
2

本文发布于:2023-05-19 07:23:02,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/114263.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   语句   表中   删除
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图