SQL命令学习

本文介绍了SQL的基础知识,包括用于插入记录的INSERT语句,更新记录的UPDATE语句,删除记录的DELETE语句,以及查询数据的核心SELECT语句。SELECT语句的使用包括投影查询、去重、别名、模糊查询(LIKE)、区间查询(BETWEEN...AND...)、值列表查询(IN)和空值查询(ISNULL)。WHERE子句用于设定查询条件,ORDERBY子句用于结果排序。

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

一 . SQL叫什么?

SQL结构化查询语言。一种解释型语言。语法结构很简单。
SQL92是一种标准。所有数据库厂商使用SQL语句的标准。
一般数据库厂商也会在SQL92标准之上扩展一些自己的内容。例如函数。
SQL92标准:count(*)。
Oracle扩展:to_date(),to_char()

二 . insert语句:

用来向数据表中插入记录。
insert into 表名(列名, 列名) values(值 , 值)
insert intotype_no5(type_id,type_name) values(3,'甜点');

三 . update语句:

update 表名set 列= 值 , 列= 值[where 条件]; 满足条件的记录被更新。
例 : update goods_no5 set goods_name='小米6' , goods_price=3999 where goods_id=12

四 . delete语句:

delete from 表[where 条件]; 满足条件的记录被删除。
例 : delete from goods_no5 where goods_id = 14;

五 . Select语句:

(1) select语句的完整子句:
select 查什么,显示什么
from 从哪查,从哪些表中进行数据的查询。多表查询
where 条件,过滤记录(行)。满足条件的记录才会被查询出来。
group by 分组,进行数据统计时经常使用到分组操作。
having 条件,过滤记录(行)。对分组之后的汇总统计结果进行过滤。
order by 排序,对查询结果进行排序。
(2) select子句-查询所有:
select子句是对列的过滤。只有在select子句后面出现的列名。才是我们需要查询的列。
select * from 表;
例 : select * from goods_no5 ;

(3) select子句-投影查询:
投影查询:就是指定一些字段进行查询显示。
select 列名,列名 from 表;
例 : select goods_name,goods_price from goods_no5 ;
(4) select子句-别名:
可以为每一个列创建一个新的别名。
select 字段 [as] 别名, 表达式 as 别名from表 别名;
例 : select o1.order_id "编号" , to_char(o1.order_date,'yyyy-mm-dd')as "日期" from order_no5 o1;
(5) select子句-去重:
因为select子句的查询支持投影查询的方式。
select distinct goods_name from goods_no5;
(6) where子句-基本应用:
在基本应用中,比较基础的判断表达式。
比较运算符。
where 字段 = 值
where 年龄 > 20
where 字段 != 值
逻辑运算符。and or not
where字段= 值 and 字段 > 值
where not 字段 = 值
(7) where子句-模糊查询like:
like关键字是在Where子句中的模糊查询。
模糊查询就是一个像什么样的一个查询。
模糊查询只适用于字符串类型。
在使用模糊查询时,必须使用到二个通配符。
1 % 表示任意多个字符。
2 _ 表示任意一个字符。
where 字段 like ‘通配符字符串’
查询所有刘姓的同学:select * from 表where name like ‘刘%’
‘abc’可以在任意位置出现:where 字段 like‘%abc%’

(8) where子句-区间查询between…and:
between…and 是区间查询,用来在二个取值的范围之间查询。
区间查询只能应用到数值类型和日期类型
where 字段between A andB;
表示字段的取值范围在A-B之间。[A,B]
等价于where 字段 >=A and 字段<=B
select * from student_no5 where stu_score between 90 and 100 ;
--90-100之间的学员信息
(9) where子句-值列表查询in:
in关键字叫值列表查询,是将多个值,做为一个列表。字段与其中任意一个值相等就表示true.
where 字段 in (值,值,值)
select* from emp where job in ('SALESMAN','MANAGER');
所有'SALESMAN'和'MANAGER'的emp信息。
(10) where子句-空值查询is null:
is null是用来判断是不是为null;
where 字段is null ;
select* from emp where comm is null;
查空是is null
查非空是is not null
select * from emp where comm is not null;
select * from emp where not comm is null;
(11) Order by子句-排:
order by 做为select语句的最后一个子句。它的作用也是最后产生的。
是对查询结果的排序。
asc 表示升序。也是默认排序。
desc 表示降序。
order by 字段1 [asc|desc][, 字段2 [asc|desc] ]
主排序规则为字段1,字段2只有在字段1相同的记录上起作用。
select* from emp where comm is not null order by sal desc , empno ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰阔落好喝Wow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值