SQLServer查询语句:DQL与DML操作详解

需积分: 10 2 下载量 185 浏览量 更新于2024-08-06 1 收藏 531KB PDF 举报
"SQLServer查询语句.pdf" 在SQL Server中,查询数据主要通过使用结构化查询语言(SQL)的DQL(Data Query Language)部分,它允许用户从数据库中检索信息。本章主要关注如何使用SELECT语句进行条件查询,以及涉及DML(Data Manipulation Language)的数据操作,如INSERT、DELETE和UPDATE。 1. **DQL - SELECT语句**: SELECT语句用于从一个或多个表中选择特定的记录。基础语法如下: ```sql SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列名> [ASC或DESC]] ``` `SELECT *` 表示选择所有列,而指定列名则只选择指定的字段。`FROM`后面跟随要查询的表名。`WHERE`子句用于设定查询条件。`ORDER BY`用于对结果集进行排序,ASC表示升序,DESC表示降序。 2. **DML - 数据操作**: - **INSERT**:用于向表中添加新数据。基本语法如下: ```sql INSERT INTO 表名(字段1,字段2,字段3) VALUES(值1,值2,值3) ``` - **DELETE**:用于删除满足特定条件的记录。基本语法如下: ```sql DELETE FROM 表名 WHERE 主键=主键值 ``` - **UPDATE**:用于更新表中已存在的数据。基本语法如下: ```sql UPDATE 表名 SET 字段1=值1,字段2=值2,字段3=值3 WHERE 主键=主键值 ``` 3. **查询优化**: - 使用具体的列名而不是`*`可以提高查询效率,因为`*`会返回所有列,而指定列名仅处理所需的数据。 - 给表起别名(使用`AS`关键字)可以使查询语句更简洁易读,例如:`SELECT s.name, s.sex FROM Student AS s`。 4. **查询条件**: - 使用`AND`和`OR`逻辑运算符来组合多个查询条件。例如,查找性别为男且地址为北京的学生: ```sql SELECT * FROM Student WHERE sex='男' AND address='北京' ``` - 或者,查找性别为男或地址在华北的学生: ```sql SELECT * FROM Student WHERE sex='男' OR address='华北' ``` 5. **排序**: 使用`ORDER BY`对查询结果进行排序,如按学号倒序排序: ```sql SELECT * FROM Student WHERE sex='男' ORDER BY 学号 DESC ``` 6. **函数**: SQL Server提供了多种函数,包括系统函数和特定类型的函数,如字符串函数。这些函数类似于编程语言中的方法,如Java或C#中的`trim()`、`substring()`等。例如,可以使用`SUBSTRING()`函数从字符串中提取一部分,`TRIM()`函数去除两侧的空白字符。 在SQL Server查询中,理解并熟练运用这些基本概念和语法,将能有效地从数据库中获取所需信息,同时进行数据的插入、删除和更新操作。在实际应用中,还需要注意查询性能的优化,如避免全表扫描、合理创建索引等策略。