当前位置: 首页 > wzjs >正文

网站建设 百科南开区网站建设公司

网站建设 百科,南开区网站建设公司,青岛网站建设网址,ui设计网站一、数据的插入(INSERT语句的使用方法) 1、什么是INSERT 首先通过CREATE TABLE语句创建表,但创建的表中没有数据;再通过INSERT语句向表中插入数据。 --创建表ProductIns CREATE TABLE ProductIns (product_id CHAR(4) NOT NULL,product_name …

一、数据的插入(INSERT语句的使用方法)

1、什么是INSERT

        首先通过CREATE TABLE语句创建表,但创建的表中没有数据;再通过INSERT语句向表中插入数据。

--创建表ProductIns
CREATE TABLE ProductIns
(product_id      CHAR(4)      NOT NULL,product_name    VARCHAR(100) NOT NULL,product_type    VARCHAR(32)  NOT NULL,sale_price      INTEGER      DEFAULT 0,purchase_price  INTEGER      ,regist_date     DATE         ,PRIMARY KEY (product_id));

2、INSERT语句的基本语法

INSERT INTO <表名> (列1,列2,列3,……) VALUES (值1,值2,值3,……);

INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('0001', 'T恤衫' ,'衣服', 1000, 500, '2009-09-20');

列清单为(列1,列2,列3,……);

值清单为(值1,值2,值3,……)。 

        列清单与值清单的列数必须保持一致, 通常执行一次INSERT语句会插入一行数据;但也就二将多条VALUE子句通过都好进行分隔排列。

-- 多行INSERT(Oracle除外)
INSERT INTO ProductIns VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),('0003', '运动T恤', '衣服', 4000, 2800, NULL),('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');

3、列清单的省略

-- 包含列清单
INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');-- 省略列清单
INSERT INTO ProductIns VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');

4、插入NULL

INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('0006', '叉子', '厨房用具', 500, NULL, '2009-09-20');

5、插入默认值

\blacksquare 通过显性的方式插入默认值

INSERT INTO ProductIns (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('0007', '擦菜板', '厨房用具', DEFAULT, 790, '2009-04-28');
postgres=# SELECT * FROM ProductIns WHERE product_id = '0007';product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0007       | 擦菜板       | 厨房用具     |          0 |            790 | 2009-04-28

 \blacksquare 通过隐性的方式插入默认值

-- 可通过对sale_price列和值的省略设定默认值
INSERT INTO ProductIns (product_id, product_name, product_type, purchase_price, regist_date) VALUES ('0007', '擦菜板', '厨房用具', 790, '2009-04-28');

        若未设定默认值,则自动设定为NULL;但遇到该列设定为NOT NULL则会报错。 

6、从其他表中复制数据

-- 用来插入数据的商品复制表
CREATE TABLE ProductCopy
(product_id      CHAR(4)      NOT NULL,product_name    VARCHAR(100) NOT NULL,product_type    VARCHAR(32)  NOT NULL,sale_price      INTEGER      ,purchase_price  INTEGER      ,regist_date     DATE         ,PRIMARY KEY (product_id));
-- 将商品表中的数据复制到商品复制表中
INSERT INTO ProductCopy (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
SELECT product_id, product_name, product_type, sale_price, purchase_price, regist_dateFROM Product;-- 打印商品复制表
SELECT * FROM ProductCopy;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-09-200002       | 打孔器       | 办公用品     |        500 |            320 | 2009-09-110003       | 运动T恤      | 衣服         |       4000 |           2800 |0004       | 菜刀         | 厨房用具     |       3000 |           2800 | 2009-09-200005       | 高压锅       | 厨房用具     |       6800 |           5000 | 2009-01-150006       | 叉子         | 厨房用具     |        500 |                | 2009-09-200007       | 擦菜板       | 厨房用具     |        880 |            790 | 2008-04-280008       | 圆珠笔       | 办公用品     |        100 |                | 2009-11-11

\blacksquare 多种多样的SELECT语句

-- 根据商品种类进行汇总的表
CREATE TABLE ProductType
(product_type        VARCHAR(32)  NOT NULL,sum_sale_price      INTEGER      ,sum_purchase_price  INTEGER      ,PRIMARY KEY (product_type));
INSERT INTO ProductType (product_type, sum_sale_price, sum_purchase_price)
SELECT product_type, SUM(sale_price), SUM(purchase_price)FROM ProductGROUP BY product_type;-- 确认插入的数据行
SELECT * FROM ProductType;
 product_type | sum_sale_price | sum_purchase_price
--------------+----------------+--------------------衣服         |           5000 |               3300办公用品     |            600 |                320厨房用具     |          11180 |               8590

二、数据的删除(DELETE语句的使用方法)

1、DROP TABLE语句和DELETE语句

        DROP TABLE 语句 可以将表完全删除;

        DELETE 语句 会留下表(容器),而删除表中的全部数据。

 2、DELETE语句的基本语法

DELETE FROM Product;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------

3、指定删除对象的DELETE语句(搜索型DELETE)

DELETE FROM <表名>

      WHERE <条件>;

DELETE FROM ProductWHERE sale_price >= 4000;-- 确认删除后的结果
SELECT * FROM Product;

        删之前的数据: 

 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-09-200002       | 打孔器       | 办公用品     |        500 |            320 | 2009-09-110003       | 运动T恤      | 衣服         |       4000 |           2800 |0004       | 菜刀         | 厨房用具     |       3000 |           2800 | 2009-09-200005       | 高压锅       | 厨房用具     |       6800 |           5000 | 2009-01-150006       | 叉子         | 厨房用具     |        500 |                | 2009-09-200007       | 擦菜板       | 厨房用具     |        880 |            790 | 2008-04-280008       | 圆珠笔       | 办公用品     |        100 |                | 2009-11-11

        删之后的数据: 

 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-09-200002       | 打孔器       | 办公用品     |        500 |            320 | 2009-09-110004       | 菜刀         | 厨房用具     |       3000 |           2800 | 2009-09-200006       | 叉子         | 厨房用具     |        500 |                | 2009-09-200007       | 擦菜板       | 厨房用具     |        880 |            790 | 2008-04-280008       | 圆珠笔       | 办公用品     |        100 |                | 2009-11-11
(6 行记录)

三、数据的更新(UPDATE语句的使用方法)

1、UPDATE语句的基本语法

UPDATE <表名>

       SET <列名>=<表达式>;

-- 将登记的数据更新为"2009-10-10"
UPDATE ProductSET regist_date = '2009-10-10';-- 确认更新的数据
SELECT * FROM Product ORDER BY product_id;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-10-100002       | 打孔器       | 办公用品     |        500 |            320 | 2009-10-100004       | 菜刀         | 厨房用具     |       3000 |           2800 | 2009-10-100006       | 叉子         | 厨房用具     |        500 |                | 2009-10-100007       | 擦菜板       | 厨房用具     |        880 |            790 | 2009-10-100008       | 圆珠笔       | 办公用品     |        100 |                | 2009-10-10

2、指定条件的UPDATE语句(搜索型UPDATE)

UPDATE <表名>

       SET <列名>=<表达式>

 WHERE <条件>;

-- 将商品种类为厨房用具的记录的销售单价更新为原来的10倍
UPDATE ProductSET sale_price = sale_price * 10WHERE product_type = '厨房用具';-- 确认更新内容
SELECT * FROM Product ORDER BY product_id;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-10-100002       | 打孔器       | 办公用品     |        500 |            320 | 2009-10-100004       | 菜刀         | 厨房用具     |      30000 |           2800 | 2009-10-100006       | 叉子         | 厨房用具     |       5000 |                | 2009-10-100007       | 擦菜板       | 厨房用具     |       8800 |            790 | 2009-10-100008       | 圆珠笔       | 办公用品     |        100 |                | 2009-10-10

3、使用NULL进行更新

-- 将商品编号为0008的数据(圆珠笔)的登记日期更新为NULL
UPDATE ProductSET regist_date = NULLWHERE product_id = '0008';-- 确认更新的内容
SELECT * FROM Product ORDER BY product_id;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-10-100002       | 打孔器       | 办公用品     |        500 |            320 | 2009-10-100004       | 菜刀         | 厨房用具     |      30000 |           2800 | 2009-10-100006       | 叉子         | 厨房用具     |       5000 |                | 2009-10-100007       | 擦菜板       | 厨房用具     |       8800 |            790 | 2009-10-100008       | 圆珠笔       | 办公用品     |        100 |                |

4、多列更新

        下列三种更新方式都可以达到一个目标

-- 能够正确执行的繁琐的UPDATE语句
UPDATE ProductSET sale_price = sale_price * 10WHERE product_type = '厨房用具';UPDATE ProductSET purchase_price = purchase_price / 2WHERE product_type = '厨房用具';-- 确认更新的内容
SELECT * FROM Product ORDER BY product_id;
-- 使用逗号对列进行分隔排列
UPDATE ProductSET sale_price = sale_price * 10,purchase_price = purchase_price / 2WHERE product_type = '厨房用具';-- 确认更新的内容
SELECT * FROM Product ORDER BY product_id;
-- 将引用()括起来
UPDATE ProductSET (sale_price, purchase_price) = (sale_price * 10, purchase_price / 2)WHERE product_type = '厨房用具';-- 确认更新内容
SELECT * FROM Product ORDER BY product_id;
 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+-------------0001       | T恤          | 衣服         |       1000 |            500 | 2009-10-100002       | 打孔器       | 办公用品     |        500 |            320 | 2009-10-100004       | 菜刀         | 厨房用具     |     300000 |           1400 | 2009-10-100006       | 叉子         | 厨房用具     |      50000 |                | 2009-10-100007       | 擦菜板       | 厨房用具     |      88000 |            395 | 2009-10-100008       | 圆珠笔       | 办公用品     |        100 |                |

四、事务

1、什么是事务

        事务就是需要再同一个处理单元中执行的一系列更新处理的集合。

2、创建事务

事务开始语句;

        

        DML语句1;

        DML语句2;

        DML语句3;

        ……

事务结束语句(COMMIT或者ROLLBACK);

--SQL Server, PostgreSQL
BEGIN TRANSACTION;-- 将运动T恤的销售单价降低1000日元UPDATE ProductSET sale_price = sale_price - 1000WHERE product_name = 'T恤';-- 将T恤衫的销售单价上浮1000日元UPDATE ProductSET sale_price = sale_price + 1000WHERE product_name = 'T恤';COMMIT;SELECT *FROM ProductORDER BY product_id;

        COMMIT——提交处理

        ROLLBACK——取消处理 

3、ACID特性

1、原子性        包含的事务或全部执行或全部不执行;

2、一致性        事务中处理要满足数据库提前设置的约束;

3、隔离性        确保不同事务之间湖北干扰;

4、持久性        在事务结束后,DBMS能够保证该时间点的数据状态会被保存的特性。


文章转载自:

http://c26y187R.kztpn.cn
http://ISJySTu0.kztpn.cn
http://aiIZluhX.kztpn.cn
http://7tUgb7oI.kztpn.cn
http://VNWzwgxX.kztpn.cn
http://BOs6RCLd.kztpn.cn
http://C0bWghfa.kztpn.cn
http://xuaNjoLS.kztpn.cn
http://1xmIf5ie.kztpn.cn
http://0GrKprSY.kztpn.cn
http://eGxeXAp2.kztpn.cn
http://rC6JkSAK.kztpn.cn
http://HW0Ktrf0.kztpn.cn
http://Gz5jvADM.kztpn.cn
http://CeJRA2wA.kztpn.cn
http://dpQw9UOG.kztpn.cn
http://irrr1dxN.kztpn.cn
http://ofq1BeRs.kztpn.cn
http://xkLmjQm9.kztpn.cn
http://vQbMpbHE.kztpn.cn
http://n12rHPOY.kztpn.cn
http://N9lgPFfW.kztpn.cn
http://mWaZrH1f.kztpn.cn
http://ivlgz3Hi.kztpn.cn
http://MjWYxB9F.kztpn.cn
http://y9CEL8ls.kztpn.cn
http://eOv0w4Yh.kztpn.cn
http://k3LDle4O.kztpn.cn
http://nGrgvEh4.kztpn.cn
http://EOkAqYw9.kztpn.cn
http://www.dtcms.com/wzjs/668066.html

相关文章:

  • 临沂网站建设公司全国同学录网站建设
  • 漂亮网站织梦网站后台怎么登陆
  • 上海手机网站开发价格wordpress转为app
  • 企业建设网站需要什么资料wordpress开启用户登录
  • 河南外贸网站建设wordpress改网站logo
  • 做网站应该掌握的技术互联网站备案登记表
  • 网站免费申请注册2022营业执照年审
  • 为什么要建设个人网站word模板免费下载
  • php做的购物网站网站开发公司东莞
  • 南昌住房建设局网站网站如何做电脑和手机app
  • 莱西网站建设网络营销推广方法和应用场景
  • 施工企业资质划分如何做自己网站的seo
  • 资阳市网站建设成都旅游景点大全排名
  • 类似一起做网店的网站vs和php哪个做网站好
  • 最好的医疗网站建设北京值得去的互联网公司
  • 上海联通 网站备案wordpress转为app
  • 福建西南建设有限公司网站网易企业邮箱登陆入口官网
  • 设计类的网站和简介郑州app软件定制
  • php源码 个人网站华为云云速建站教程
  • 做智能网站系统下载地址在线代理网页浏览
  • wordpress 公司网站 模板 下载国内外网站网站
  • 校园网上零售网站建设方案北京网站建设模板
  • 电子商务安全问题 网站权限管理腾讯企业邮箱免费注册入口
  • 西安建站费用网站维护合同范本
  • 公众号网站制作全球速卖通入驻条件
  • 网站评估 源码国外租车网站模板
  • 一起做财经网站网上购物商城网站
  • 机械制造网站漳州最便宜的网站建设价格
  • 成都网站设计 常凡云网站优化营销公司
  • 企业网站开发教程北京网站建设好