linux之SQL语句简明教程---INSERT INTO

到目前为止,我们学到了将如何把资料由表格中取出。但是这些资料是如果进入这些表格的呢? 这就是这一页 (INSERT INTO) 和下一页 (UPDATE)
要讨论的。

基本上,我们有两种作法可以将资料输入表格中内。一种是一次输入一笔,另一种是一次输入好几笔。我们先来看一次输入一笔的方式。

依照惯例,我们先介绍语法。一次输入一笔资料的语法如下:

INSERT INTO "表格名" ("栏位1", "栏位2", ...)

VALUES ("值1", "值2", ...);

假设我们有一个架构如下的表格:

Store_Information 表格

栏位名称 资料种类
Store_Name char(50)
Sales float
Txn_Date datetime

而我们要加以下的这一笔资料进去这个表格:在 January 10, 1999,Los Angeles 店有$900 的营业额。我们就打入以下的 SQL 语句:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)

VALUES (‘Los Angeles‘, 900, ‘Jan-10-1999‘);

第二种 INSERT INTO 能够让我们一次输入多笔的资料。跟上面刚的例子不同的是,现在我们要用 SELECT 指令来指明要输入表格的资料。如果您想说,这是不是说资料是从另一个表格来的,那您就想对了。一次输入多笔的资料的语法是:

INSERT INTO "表格1" ("栏位1", "栏位2", ...)

SELECT "栏位3", "栏位4", ...

FROM "表格2";

以上的语法是最基本的。这整句 SQL 也可以含有 WHERE、 GROUP
BY
、及 HAVING 等子句,以及表格连接及别名等等。

举例来说,若我们想要将 1998 年的营业额资料放入 Store_Information 表格,而我们知道资料的来源是可以由 Sales_Information 表格取得的话,那我们就可以打入以下的 SQL:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)

SELECT store_name, Sales, Txn_Date

FROM Sales_Information

WHERE Year (Txn_Date) = 1998;

在这里,我用了 SQL Server 中的函数来由日期中找出年。不同的数据库会有不同的语法。举个例来说,在 Oracle 上,您将会使用 WHERE TO_CHAR (Txn_Date, ‘yyyy‘) = 1998

Linux实测如下:

转载请注明:小刘

时间: 2024-10-26 22:50:58

linux之SQL语句简明教程---INSERT INTO的相关文章

linux之SQL语句简明教程

本教程参考http://www.1keydata.com/cn/sql/ 目的是让初学者了解linux下Mysql的操作,但是我仍想侧重于SQL语句的讲解 sql语句的学习将按照下图的流程: 当然在这之前我们需要简单了解下linux下mysql的安装,以及基本操作. 关于如何安装和使用linux下mysql请参考:http://blog.csdn.net/u013018721/article/details/34889367 转载请注明:小刘

linux之SQL语句简明教程---CREATE VIEW

视观表 (View) 可以被当作是虚拟表格.它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料. 建立一个视观表的语法如下: CREATE VIEW "VIEW_NAME" AS "SQL 语句"; "SQL 语句" 可以是任何一个我们在这个教材中有提到的 SQL. 来看一个例子.假设我们有以下的表格: Customer 表格 栏位名称 资料种类 First_Name char(50) Last_N

linux之SQL语句简明教程---Subquery

我们可以在一个 SQL 语句中放入另一个 SQL 语句.当我们在 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构. Subquery 的作用是什么呢?第一,它可以被用来连接表格.另外,有的时候 subquery 是唯一能够连接两个表格的方式. Subquery 的语法如下: SELECT "栏位1" FROM "表格" WHERE "栏位2" [比较运算素] (SELECT "

linux之SQL语句简明教程---UNION

UNION 指令的目的是将两个 SQL 语句的结果合并起来.从这个角度来看, UNION 跟 JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料. UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类.另外,当我们用 UNION 这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT). UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2]; 假设我们有以下的两个表格, Store_Information 表格 S

linux之SQL语句简明教程---UNION ALL

UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起. UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复. UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2]; 我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同.同样假设我们有以下两个表格, Store_Information 表格 Store_Name Sales Txn_Da

linux之SQL语句简明教程---AND OR

在上一页中,我们看到 WHERE 指令能够被用来由表格中有条件地选取资料. 这个条件可能是简单的 (像上一页的样例).也可能是复杂的. 复杂条件是由二或多个简单条件透过 AND 或是 OR的连接而成.一个 SQL 语句中能够有无限多个简单条件的存在. 复杂条件的语法例如以下: SELECT "栏位名" FROM "表格名" WHERE "简单条件" {[AND|OR] "简单条件"}+; {}+ 代表{}之内的情况会发生一或多

linux之SQL语句简明教程---UPDATE DELETE FROM

我们有时候可能会需要修改表格中的资料.在这个时候,我们就需要用到 UPDATE 指令.这个指令的语法是: UPDATE "表格名" SET "栏位1" = [新值] WHERE "条件"; 最容易了解这个语法的方式是透过一个例子.假设我们有以下的表格: Store_Information 表格 Store_Name Sales Txn_Date Los Angeles 1500 05-Jan-1999 San Diego 250 07-Jan-1

linux之SQL语句简明教程---SELECT

SQL是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出.从这一句回答中,我们马上可以看到两个关键字: 从 (FROM) 数据库中的表格内 选出 (SELECT).(表格是一个数据库内的结构,它的目的是储存资料.在 表格处理这一部分中,我们会提到如何使用 SQL 来设定表格.) 我们由这里可以看到最基本的 SQL 架构: SELECT "栏位名" FROM "表格名"; 我们用以下的例子来看看实际上是怎么用的.假设我们有以下这个表格: Store_In

linux之SQL语句简明教程---CONCATENATE

有的时候,我们有需要将由不同栏位获得的资料串连在一起.每一种资料库都有提供方法来达到这个目的: MySQL: CONCAT( ) Oracle: CONCAT( ), || SQL Server: + CONCAT( ) 的语法如下: CONCAT (字串1, 字串2, 字串3, ...) 将字串1.字串2.字串3,等字串连在一起.请注意,Oracle 的 CONCAT( ) 只允许两个参数:换言之,一次只能将两个字串串连起来.不过,在Oracle中,我们可以用 '||' 来一次串连多个字串.