快捷搜索:

全面接触SQL语法(7)_SQL教程

表的删除

DELETE语句

我们可以使用DELETE语句,将表格中的记录删除。(留意:记录被删除后,无法再回覆再起,以是前提设置要精确)

DELETE[table.*]

FROM tableexpression

WHERE criteria

table

欲删除记录的表格名称,也可以用*来取代。

tableexpression

一个或一个以上表格的名称。此一参数可以为单一的表格名称或是从INNER JOIN,LEFT JOIN,或RIGHTJOIN 等运算所获得的结果。

criteria

抉择表格中记录要被删除的标准。

例如:

若是我们要将人员表格中姓名姓名叫做'李名'的记录删除,我们可以使用下面的SQL语句来完成。

DELETE * FROM 人员表格

WHERE 姓名='李名';

数据库表格相关的操作敕令

SQL除了可以作为查询与数据库表格的建立的对象外,对付数据库与表格的新建、删修、与掩护,与具有相称不错的功能,若是读者应用SQL敕令得宜,对付全部效率的前进有着很大年夜的赞助,以是对付SQL语句所带来的上风,经常会碰到一个环境,便是:“当我们对多个表格作繁杂与多步骤的处置惩罚时,或许SQL只要一个语句就可以完成所有的需求与目标”,乍看一下,或许感觉有些微妙,然则接下来的章节,会让你懂得此中的妙处。

SELECT...INTO语句

我们可以经由过程这个敕令,使用既存表格查询,来建立一个新表格的查询语句。

SELECT field1[,field2[,...]]INTO newtable[IN externaldatabase]

FROM source

field1,field2

欲拷贝到新表格的字段名称。

newtable

欲建立之新表格的名称,弗成是已经存在的表格。

externaldatabase

若是该表格在别的的外部数据库时,该数据库的名称。

source

记录数据拷贝的滥觞表格名称,可所以单一的表格或是一段SQL查询之语句。

例如:

你可以经由过程下面的SQL语句,来建立一个新的“练习名册”表格。

SELECT 人员表格.姓名,人员表格.部门

INTO 练习名册 FROM 人员表格

WHERE 职称='新进职员';

INNER JOIN操作数

当某一个合营的字段数据相等时,将两个表格的记录加以组合。

SELECT fields

FROM table1 INNER JOIN table2

ON table1.field1 compopr table2.field2

table1,table2

欲进行记录组合的表格名称。

field1,field2

欲组合的字段名称。(必须具有相同的数据类型)

compopr

对照关系运算符如下:“=”,“”,“”等。

例如:

若是你要把分类表格与产品表格作组合,可参考下面的SQL语句。

SELECT 分类名称,产品名称

FROM 分类表格 INNER JOIN 产品表格

ON 分类表格.分类编号=产品表格.分类编号;

UNION操作数

我们可以经由过程UNION操作数来建立连接的查询前提,UNION操作数可以将两个以上的表格或是查询的结果组合起来。

[TABLE]query1 UNION [ALL][TABLE]query2 [UNION [ALL]

[TABLE]queryn [...]]

query1,query2,queryn

为一个SELECT的语句,或是一个已存在的查询名称,或是一个已存在的表格名称。

例如:

你可以使用下面的SQL语句,将订单数量跨越1000的顾客表格记录,与新客户表格作UNION的操作。

TABLE 新客户表格 UNION ALL

SELECT *

FROM 顾客表格

WHERE 订单数量>1000;

ALTER语句

在一个表格被建立之后,使用ALTER语句,我们可以去改动表格的字段设计。

ALTER TABLE table

{ADD {COLUMN field type[(size)][CONSTRAINT index]

|CONSTRAINT multifieldindex}

|DROP {COLUMN field|CONSTRAINT indexname}}

table

欲被ALTER的表格名称。

field

要被增添或删除的字段名称。

type

字段数据类型。

size

字段大年夜小。

index

对此字段的索引。

例如:

在人员表格中新建一个“薪水”的字段。

ALTER TABLE 人员表格

ADD COLUMN 薪水 CURRENCY;

例如:

在人员表格中删除一个“薪水”的字段。

ALTER TABLE 人员表格 DROP COLUMN 薪水;

DROP语句

针对所指定的表格或字段加以删除,或是把索引删除。

DROP {TABLE table|INDEX index ON table}

table

欲删除之表格或索引依赖之表格名称。

index

欲从表格中删除的索引名称。

例如:

从人员表格中,删除编号索引。

DROP INDEX MyIndex ON Employees;

例如:

从数据库中,删除全部表格。

DROP TABLE 人员表格;

INSERT INTO语句

新建一条数据到表格傍边。

多笔记录新建查询:

INSERT INTO target [IN externaldatabase][(field1[,field2[,...]])]

SELECT [source.]field1[,field2[,...]

FROM tableexpression

单笔记录新建查询:

INSERT INTO target[(field1[,field2[,...]])]

VALUES(value1[,value2[,...])

target

新建记录的表格名称。

externaldatabase

外部数据库的路径,搭配IN前提子句应用。

source

若是记录从其它表格中拷贝时,指明该表格的名称。

field1,field2

欲增添数据的字段名称。

tableexpression

表格名称或描述记录是从哪一个表格中插入的表格名称。共同INNER JOIN,LEFT JOIN,或 RIGHT JOIN 运算符一路应用。

value1,value2

欲插入表格中的数值。

例如:

在客户数据表格中,重新的表格插入数据。

INSERT INTO 客户数据表格

SELECT 新客户数据表格.*

FROM 新客户数据表格;

例如:

在人员表格中插入数据。

INSERT INTO 人员表格(姓名,生日,职称)

VALUES("王荣","57/12/11","经理");

例如:

从练习职员表格中,将人员雇用光阴跨越30天者,加入到正式人员表格中。

INSERT INTO 人员表格

SELECT 练习职员表格.*

FROM 练习职员表格

WHERE 雇用天数>30;

UPDATE语句

建立一个UPDATE的查询,经由过程前提的限定来改动特定的数据。

UPDATE table

SET newvalue

WHERE criteria;

table

欲改动数据的表格名称。

newvalue

欲改动成的数值(将该项数值插入到特定的字段傍边)。

criteria

查询前提,用来抉摘要改动哪些记录。

例如:

若是要把订单表格中的订单数量改动成1.1倍,运费为1.03倍,可使用下列之SQL语句来完成。

UPDATE 订单表格

SET 订单数量=订单数量 * 1.1,运费=运费 * 1.03倍

WHERE 运达地点='美国';

当我们完成改动后,你可以使用 SELECT 语句,共同同样的 WHERE 前提子句,来不雅察改动的数据是否精确。

事实上,要使用SQL完成某些看似繁杂的操作,并不必要繁琐的SQL敕令组合,或是许许多多的步骤才能完成,着实最紧张的照样要活用SQL敕令,才会在最精简的SQL语句里得到最高的效率。

您可能还会对下面的文章感兴趣: