简析SQL Server中的数据查询

时间:2022-09-26 12:17:14

简析SQL Server中的数据查询

SQL语言是结构化查询语言,用户可以使用SQL编写应用程序完成所有的数据库管理工作。数据库查询就是发送给数据库的SQL指令,这些指令向数据库请求某种施加在数据集合或数据库上的功能,数据库中的这些查询主要涉及到对数据库内数据的操作。

1 数据查询的基本类型

数据库查询是数据库系统中最基本也是最重要的操作,SQL语言中的数据查询通常分为以下4种基本类型:

1.1 SELECT:用户通过这条语句可以从数据库中搜寻用户所需要的数据,也可进行数据的统计汇总并返回给用户,该语句是数据库操作中使用频率最高的语句,是SQL语言的灵魂。

1.2 INSERT:使用本条语句可以向数据表添加一条或多条记录。

1.3 UPDATE:使用本条语句可以对一个数据表或视图进行更改。

1.4 DELETE:使用本条语句可以从数据库中删除若干行数据。

以上的语句只是简单的查询命令,其实它们都有各种各样的限定词和函数用来定义有关的数据集合,同时控制查询返回的结果集合。

2 数据查询的基本用途

2.1 SELECT语句。SELECT查询命令使用的非常灵活,用它可以构造各种各样的查询。其基本功能限制在针对单一数据表操作,当然,其他范围的构造也是有的。

(1)查询指定的列字段,使用以下语句格式:

SELECT 列名1,列名2[,…n] FROM 表名;

如:查询成绩表中学生的姓名,计算机,英语成绩

use 成绩管理数据库

Select 姓名,计算机,英语 from 成绩表;

(2)选取全部字段

选取全部字段在select后用“*”表示所有字段,服务器会按用户创建表格时的顺序来显示所有的列。

如查询所有学生成绩信息:

use 成绩管理数据库

SELECT * FROM成绩表;

(3)条件查询

条件查询是指在数据表中查询满足某些条件的记录,在select中使用where子句达到这一目的,即从数据表中过滤出符合条件的记录。条件查询就是关系运算的选择运算,它是对数据源进行水平分割。

例如:查询学生成绩信息中英语成绩大于80分的学生信息:

use 成绩管理数据库

SELECT * FROM 成绩表 where 英语>80

使用where子句可以限制查询条件的记录范围。在使用时,where子句必须紧跟在from子句后面。Where子句中的条件是一个逻辑表达式,除了“>”(大于)条件之外,还可以用到等于(= )、不等于(<>)等条件运算符;还可以联合WHERE语句使用BETWEEN、IN等比较运算符以及AND或OR这类逻辑运算符。以下例子组合了以上这些概念:

SELECT * FROM 信息 WHERE ((年龄<18) AND (姓名 BETWEEN 'jan'AND'jack')) OR 公司 LIKE '%k%';

用自然语言来说,这条选择语句的作用是:从数据表中选出年龄小于18岁而且姓氏在“jan”和“jack”之间或者公司名称类中有“k”字样的数据行。

2.2 INSERT语句。使用INSERT语句可以向表中插入新的数据行。插入语句的语法如下:

INSERT INTO 表名(字段名1,字段名2,…字段名n) VALUES (值1,值2,…)给出具体的记录值;

如果是按照表内现有列的同一顺序插入所有的值,那么不必指定列名,当然,从可读性考虑最好不要这样做。另外,假设我们列出列名也不必完全按照它们在数据库中出现的顺序包括它们,只要列出的值与它们一一对应即可。有些列并没有为其输入新的信息所以自然没有必要列出它们来。

2.3 UPDATE语句。在维护数据表中数据的过程中,可以使用update语句来更改表或视图中的一条记录、记录组或是所有记录中的数据。一般update后使用where子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段,如果不使用where子句,则更新全部记录。例如,给学号为01的学生英语成绩提高10%,可以用如下命令:

Update 成绩表set 英语=英语*1.10 where 学号=“01”

又如,给所有学生的英语成绩加10分:

Update 成绩表set 英语=英语+10

2.4 DELETE语句。使用DELETE语句删除数据表或是视图中的一条记录或是多条记录。如果我们仅仅想删除表中单一的字段,最好使用UPDATE语句把它修改为代表应用程序中的NULL的其他空值。操作时要注意使用带WHERE子句的DELETE语句,否则如果使用不当,可能会误操作把数据表中的数据全部清空。例如:

DELETE FROM 成绩表 WHERE 学号='01';

则把学号为01的这条记录删除了,一旦这条记录被删除了,就找不回来了,因此一般来说,最好在数据表中包括一名为“IsActive”的列或类似的指示信息,这样就可以把该列数据设置为零表示数据禁用。只有在确认不再需要受到影响的信息之后才用DELETE语句。

3 结束语

我们对结构化查询语言SQL中数据查询所采用的最基本命令语句进行了简单的介绍,但其中还有很多基本概念尚未涉及,比如,汇总查询(聚合函数)SUN函数等,查询结果排序、保存等,文中所介绍的这些命令对于简单的数据库操作可以满足,但如果要进行更复杂的操作,还需要继续深入学习。

参考文献

[1] 杜兆将.SQL Server 数据库管理与开发,2006,8

[2] 张玉平+SQL组建动态网站,2006,3

收稿日期:2007-10-31

上一篇:在物理教学中重视培养问题解决的能力 下一篇:浅谈“牡丹花”纹样在现代服饰中的运用