全面接触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语句里获得最高的效率。

时间: 2024-11-30 23:43:13

全面接触SQL语法(7)的相关文章

全面接触SQL语法2

sql语法 BETWEEN...AND 运算符 决定某一人数值是否介于特定的范围之内,此运算符只可以用在SQL的语句中. expr[Not]BETWEEN value1 AND value2 expr 指定要加以计算的字段与表达式的组合. value1,value2 所指明的数值范围. 例如: 若是要从职员表格查询出所有年龄介于25-30岁的员工,可以利用下面的程序来做. SELECT 姓名,年龄 BETWEEN 25 AND 30 FROM 职员表格: LIKE 操作数 用来将一字符串与另一特

全面接触SQL语法

sql语法 SQL功能与特性 其实,在前面的文章中,已经提及SQL命令的一些基本功能,然而,通过SQL命令,程序设计师或数据库管理员(DBA)可以: (一)建立数据库的表格.(包括设置表格所可以使用之空间) (二)改变数据库系统环境设置. (三)针对某个数据库或表格,授予用户存取权限. (四)对数据库表格建立索引值. (五)修改数据库表格结构.(新建.删除或是修改表格字段) (六)对数据库进行数据的新建. (七)对数据库进行数据的删除. (八)对数据库进行数据的修改. (九)对数据库进行数据的查

全面接触SQL语法(6)

sql语法 SQL与数据库的维护 表格的建立 将SQL中的基本语法作了一番介绍以后,但大多是偏向于数据库数据的查询与过滤,但实际上,我们通过SQL命令所可以做的事还有很多,接下来要介绍的便是如何利用SQL的语法命令来建立一个数据库中的表格. CREATE TABLE语句 我们可以利用这个命令,来建立一个全新的表格,但前提则是:数据库必须已经存在. CREATE TABLE table(field1 type[(size)][index1][,field2 type[(size)][index2]

全面接触SQL语法(5)

sql语法 BETWEEN...AND 运算符 决定某一人数值是否介于特定的范围之内,此运算符只可以用在SQL的语句中. expr[Not]BETWEEN value1 AND value2 expr指定要加以计算的字段与表达式的组合. value1,value2所指明的数值范围.例如:若是要从职员表格查询出所有年龄介于25-30岁的员工,可以利用下面的程序来做.SELECT 姓名,年龄 BETWEEN 25 AND 30FROM 职员表格: LIKE 操作数 用来将一字符串与另一特定字符串样式

全面接触SQL语法(4)

sql语法 HAVING 条件子句 指定一特定的分组记录,并满足HAVING 所指定的条件或状态,但条件是针对分组的条件设置. SELECT fieldlistFROM tableWHERE selectcriteriaGROUP BY groupfieldlistHAVING groupcriteria fieldlist显示被查询的字段名称.(可与ALL,DISTINCT,DISTINCTROW,或TOP相结合) table欲查询数据的表格名称. selectcriteria选取标准. gr

全面接触SQL语法(3)

sql语法 ORDER BY条件语句 此条件子句,通常与SELECT语句合并使用目的是将查询的结果,依照指定字段加以排序. SELECT fieldlist FROM table WHERE selectcriteria ORDER BY field[ASC|DESC][,field2[ASC|DESC][,...]] fieldlist 欲查询的字段名称.其中可以与ALL,DISTINCT,DISINCTROW,或TOP一起来使用. table 欲查询的表格名称. selectcriteria

全面接触SQL语法(2)

sql语法 例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数据. 例如: 若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成. SELECT ALL* FROM 职员表格; DISTINCT 对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个字段查询出来的记录结果是唯一的.例如有许多存放在职员表格的职员 数据,也许会具有相同的姓名,所以若是我们用SQL语句中的SELECT DISTINCT,则查询出来的结果将会针对不一样的姓名加以筛选.若是您把 DI

全面接触SQL语法(1)

sql语法 SQL功能与特性 其实,在前面的文章中,已经提及SQL命令的一些基本功能,然而,通过SQL命令,程序设计师或数据库管理员(DBA)可以: (一)建立数据库的表格.(包括设置表格所可以使用之空间) (二)改变数据库系统环境设置. (三)针对某个数据库或表格,授予用户存取权限. (四)对数据库表格建立索引值. (五)修改数据库表格结构.(新建.删除或是修改表格字段) (六)对数据库进行数据的新建. (七)对数据库进行数据的删除. (八)对数据库进行数据的修改. (九)对数据库进行数据的查

SQL语法查询文档

sql语法  一.SQL速成  结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表.索引.字段等)的建立和操纵.  以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册.  1.创建表  表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联.创建表的基本语法如下:  create table table_name  (column_name data无效 {identity |null