SQL 基本语法
样本数据库:
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
+----+--------------+---------------------------+-------+---------+
SQL SELECT 语句
定义:
SELECT语句用于从数据库中选取数据。
语法:
SELECT column_name, column_name
FROM table_name;
与
SELECT * FROM table_name;
SQL SELECT DISTINCT语句
定义:
SELECT DISTINCT 语句用于返回唯一不同的值。
语法:
SELECT DISTINCT column_name, column_name
FROM table_name;
示例:
SELECT DISTINCT country FROM Websites;
输出结果:
SQL WHERE 子句
定义:
WHERE 子句用于提取那些满足指定条件的记录。
语法:
SELECT column_name, column_name
FROM table_name
WHERE column_name operator value;
示例:
SELECT * FROM Websites WHERE country='CN';
Where +条件(筛选行)
条件:列,比较运算符,值
比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)
Select * from emp where ename='SMITH';
例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。
逻辑运算
And:与 同时满足两个条件的值。
Select * from emp where sal > 2000 and sal < 3000;
查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。
Or:或 满足其中一个条件的值
Select * from emp where sal > 2000 or comm > 500;
查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。
Not:非 满足不包含该条件的值。
select * from emp where not sal > 1500;
查询EMP表中 sal 小于等于 1500 的值。
逻辑运算的优先级:
() not and or
特殊条件
1.空值判断: is null
Select * from emp where comm is null;
查询 emp 表中 comm 列中的空值。
2.between and (在 ... 之间的值)
Select * from emp where sal between 1500 and 3000;
查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。
注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。
3.In
Select * from emp where sal in (5000,3000,1500);
查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。
4.like 模糊查询
Select * from emp where ename like 'M%';
查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。
- % 表示多个字值,_ 下划线表示一个字符;
- M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
- %M% : 表示查询包含M的所有内容。
- %M_ : 表示查询以M在倒数第二位的所有内容。
SQL ORDER BY 关键字
定义:
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,可使用 DESC 关键字。
语法:
SELECT column_name, column_name
FROM table_name
ORDER BY column_name, column_name ASC | DESC;
示例 (单列):
SELECT * FROM Websites ORDER BU alexa;
示例 (多列):
SELECT * FROM Websites ORDER BY country, alexa;
SQL INSERT INTO 语句
定义:
INSERT INTO 语句用于向表中插入新记录。
语法:
INSERT INTO 语句可以有两种编写形式。
第一种无需指定插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
第二种需要指定列名及被插入的值:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
示例:
INSERT INTO Websites (name, url, alexa, country)
VALUES ('百度', 'https://www.baidu.com/', '4', 'CN');
SQL UPDATE 语句
定义:
UPDATE 语句用英语更新表中已存在的记录。
语法:
UPDATE table_name
SET column1=value1, column2=value2, ..
WHERE some_column = some_value;
示例:
UPDATE Websites SET alexa = '5000', country = 'USA' WHERE name = '菜鸟教程';
SQL DELETE 语句
定义:
DELETE 语句用于删除表中的记录。
语法:
DELETE FROM table_name
WHERE some_column = some_value;
示例:
DELETE FROM Websites WHERE name = 'Facebook' AND country = 'USA';
参考链接:https://www.runoob.com/sql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具