数据的查询与更新

本文详细介绍了SQL查询的基础知识及高级技巧,包括如何使用SELECT语句进行数据检索、利用WHERE子句实现条件筛选、通过ORDER BY子句进行排序操作等。此外还介绍了如何通过INTO子句创建新表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A、使用SELECT语句

(1)输出表中的所有字段

Code:
  1. USE 数据库名
  2. SELECT * FROM 表名  

 

(2)输出表中部分字段

Code:
  1. UES 数据库名   
  2. SELECT 列名字段[,…n] FROM 表名  

 

(3)为字段指定别名

Code:
  1. 格式一:   
  2. SELECT 原名 AS 别名 FROM 数据源   
  3.   
  4. 格式二:   
  5. SELECT 别名=原名 FROM 数据源  

 

(4)过滤重复行

Code:
  1. 语法:   
  2. SELECT DISTINCT 字段 FROM 表名  

 

(5)限制返回行数

Code:
  1. 格式一:   
  2. SELECT TOP 5 列名字段 FROM 表名  
  3.   
  4. 格式二:   
  5. SELECT TOP 50 PERCENT 列名字段 FROM 表名  

注:PERCENT是百分比,但是不能用‘%’来代替

 

B、使用INTO 子句

INTO子句可以创建一个新表,并将查询的结果添加到新表中。

Code:
  1. 语法格式:   
  2. SELECT 字段名 INTO 新表名 FROM 原表名  

注:若INTO子句后的新表名前以‘#’开头,为临时表;若在WHERE子句中的表达式始终为假时,则会形成与原表相同结构的空表。

 

C、使用WHERE子句

(1)比较运算

Code:
  1. SELECT * FROM 学生信息 WHERE 年龄>19  

(2)范围运算

BETWEEN ……AND和NOT BETWEEN……AND

Code:
  1. 语法:   
  2. 列名 BETWEEN 起始值 AND 终止值   
  3.   
  4. 例如:   
  5. SELECT *FROM 学生信息 WHERE 年龄 BETWEEN 18 AND 20  

(3)列表运算

Code:
  1. 语法:   
  2. 字段名 [ NOT ] IN( 列值一,列值二,列值三,…… )   
  3.   
  4. 例如:   
  5. SELECT * FROM 学生信息 WHERE 年龄 IN(18,20,21)  

注:若列值为字符,则应加英文的单引号。

(4)模式匹配运算符

LIKE和NOT LIKE

Code:
  1. 语法:   
  2. 字段名 [ NOT ] LIKE '通配符'  
  3.   
  4. 例如:在学生信息表中查询姓李的同学的记录   
  5. SELECT * FROM 学生信息 WHERE 姓名 LIKE '李%'  

其中通配符包括以下四种:

%:代表任意多个字符串;例如:‘A%’或‘%A’

_:代表单个字符;例如:A_C

[ ]:代表指定范围内的单个字符。例如:A[ b,c,d ],B[ a-h ]

[ ^ ]:代表不在指定范围内的单个字符。例如:A[ ^a-h ] 

(5)空值运算符

Code:
  1. 语法:   
  2. 测试字段名 [ NOT ] IS NULL  
  3.   
  4. 例如:查询年龄为空的学生记录  
  5. SELECT * FROM 学生信息 WHERE 年龄 IS NULL  

(6)逻辑运算符

AND、OR、NOT  即与、或、非

Code:
  1. 语法格式:   
  2. 逻辑表达式1 OR/AND 逻辑表达式2   
  3.   
  4. 例如:查询学生信息表中年龄大于19岁的男生的记录   
  5. SELECT * FROM 学生信息 WHERE 年龄>19 AND SEX='男'  

 

D、升降序查询

Code:
  1. 语法格式:   
  2. ORDER BY 列名 [ ASCDESC ]……   
  3.   
  4. 默认为ASC(升序)   
  5.   
  6. 例如:查询学生信息表中所有同学,并按年龄降序排列,相同年龄按学号升序排序。   
  7. SELECT *FROM 学生信息 ORDER BY 年龄 DESC ,学号  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值