全面接触SQL语法
2007-11-11 04:11:27 来源:WEB开发网核心提示: ·如何使用sql server(WINDOWS平台上强大的数据库平台)客户端配置工具·SQL2000无法安装的解决办法·sql server(WINDOWS平台上强大的数据库平台)2000 索引结构及其使用·SQL语法参考手册(SQL)·ms sq
- ·如何使用sql server(WINDOWS平台上强大的数据库平台)客户端配置工具
·SQL2000无法安装的解决办法
·sql server(WINDOWS平台上强大的数据库平台)2000 索引结构及其使用
·SQL语法参考手册(SQL)
·ms sql删除重复的记录
·PL/SQL开发中动态SQL的使用方法
·很久以前的一个sql面试题及答案.
·Transact SQL 常用语句以及函数
·sql server(WINDOWS平台上强大的数据库平台)连接失败错误分析与排除
·[专题]sql server(WINDOWS平台上强大的数据库平台)实用经验技巧集
表的删除
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语句里获得最高的效率。 |
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接