SQL语法学习---第1天

这篇博客详细记录了SQL学习的过程,包括SELECT DISTINCT、WHERE子句、ORDER BY等基本查询操作,以及INSERT INTO语句的两种插入方式。通过实例展示了如何筛选、排序数据以及向表中插入新记录,是初学者了解SQL语法的良好参考资料。
摘要由CSDN通过智能技术生成

前言

该系列是自己学习sql语法的系列部分,记录了为期4天的笔记内容
笔记内容供个人后续查阅资料用(虽然预计会吃灰)
来了就安静看,悄悄来,悄悄走
参考文章:

2022-04-20 日报总结

目标
  • Sql语句学习

关于SQL

SQL “查”

selct distinct

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

SELECT DISTINCT column_name,column_name
FROM table_name;
  • 可以针对某一个列查询出所有不同的值
实践
select distinct country from websites;
结果

请添加图片描述
请添加图片描述

where子句

语法

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
  • SQL 使用单引号来环绕文本值。

    实例中 ‘CN’ 文本字段使用了单引号。

    如果是数值字段,请不要使用引号。

    # 文本字段
    SELECT * FROM Websites WHERE country='CN';
    
    # 数值字段
    SELECT * FROM Websites WHERE id=1;
    
  • operator表示运算符

    • 比较运算符包涵:= ,> ,<, >= ,<=, !=(<>)

    • 逻辑运算:and、Or、Not

      • Select * from emp where sal > 2000 and sal < 3000;
        Select * from emp where sal > 2000 or comm > 500;
        select * from emp where not sal > 1500;
        
    • 特殊条件

      • 空值判断: is null

        Select * from emp where comm is null;
        

        ​ 查询 emp 表中 comm 列中的空值。

      • between min and max: Select * from emp where sal between 1500 and 3000;

        ​ 查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。

        ​ 包含上下限的值

      • in:Select * from emp where sal in (5000,3000,1500);

        ​ 查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。

      • like:Select * from emp where ename like 'M%';

        ​ 查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。

        • % 表示多个字值,_ 下划线表示一个字符;
        • M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
        • %M% : 表示查询包含M的所有内容。
        • %M_ : 表示查询以M在倒数第二位的所有内容。
  • value表示该列需被运算的值

AND & OR 运算符

结合AND和OR,通过圆括号组合起来

实践
SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');

从 “Websites” 表中选取 alexa 排名大于 “15” 且国家为 “CN” 或 “USA” 的所有网站

结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lmg6Na90-1650783197333)(./typora-user-images/image-20220420170012717.png)]

ORDER BY 关键字
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

ORDER BY 关键字用于对结果集进行排序。

ORDER BY 关键字默认按照升序(ASC)对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

升序(Ascending order):ASC

降序(Descending order):DESC

实践
select * from websites
order by alexa desc;
结果

请添加图片描述

SQL “增”

INSERT INTO

INSERT INTO 语句用于向表中插入新记录。

有两种插入场景

第1种:不指定需要插入的列名

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第2种:需指定插入的列名

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
实践

向 “Websites” 表中插入一个新行 百度相关的信息。

# 指定插入列
insert into websites (name, url, alexa, country)
values ('百度','https://www.baidu.com/','4','CN');

# 不指定插入列
insert into websites
values (13,'百度2','https://www.baidu.com/','4','CN');
结果

指定插入列
请添加图片描述
不指定插入列
请添加图片描述

注意事项:

在练习本demo的时候,一直期待返回的结果是数据集,实际情况返回的是修改后的反馈信息,

Affected rows 1======= 受影响的行:1

即表示sql语句成功运行了

明日目标

  1. 完成SQL “改”练习,即UPDATE语句
  2. 完成SQL “删”练习,即DELETE语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值