SQL入门之常用SQL语句

SQL语句基础

SQL(Structured QueryLanguage,结构化查询语言)是用于管理关系型数据库的标准编程语言。它允许用户定义、操作和查询数据,并控制数据的访问权限。SQL的核心功能围绕数据库的增删改查(CRUD)操作展开。

SQL的应用场景

  1. 数据分析:通过复杂查询和聚合分析业务数据,例如生成销售报表或用户行为分析。
  2. Web应用后端:支持动态网站的数据存储与交互,如用户登录、订单处理。
  3. 事务处理:在银行、电商等领域保障ACID(原子性、一致性、隔离性、持久性)特性,例如转账操作。
  4. 数据集成:跨系统数据迁移或整合时,通过SQL脚本清洗和转换数据。

SQL中的注释
在SQL中注释有两种:

  1. 多行注释 /**/
	/*  
	这是多行注释
   */
  1. 单行注释 --
-- 这是单行注释

1.创建表 create

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型
);
示例,创建一张名为TEST的表,该表有三列,分别为 ID、NAME、AGE:
-- 注意不要有尾后逗号
CREATE TABLE TEST
(
ID INT,
NAME CHAR(4),
AGE INT
);

2.删除表

-- 整张表都会被删除
DROP TABLE 待删除的表名;
示例,删除名为TEST的表:
-- 注意:整张表都会被删除
DROP TABLE TEST;

3.删除表中的数据

-- 删除年龄小于 22 岁的记录,只有满足条件的数据才会被删除
DELETE FROM TEST WHERE AGE < 22;

4.清除表中的数据

如果仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?

-- TRUNCATE TABLE 表名称;
TRUNCATE TABLE TEST;

5.插入数据 insert

注意 1.插入数据前需先创建表,否则会报错, 2.多次进行相同的插入操作不会覆盖原数据(也就是追加)

方式1 不指定列名
-- ,不指定列名,顺序就会与创建表时的列顺序依次对应
INSERT INTO TEST VALUES (2, '李四', 30);
方式2 向指定列名中插入数据
-- 向 test 表的 ID、Name 和 Age 列插入数据,注意: 括号内的值按照前面指定列的顺序依次对应 (ID 对应 1,Name 对应 '张三')
INSERT INTO TEST (ID, Name, Age) VALUES (1, '张三', 25);

插入多条数据

-- 一次性添加多条数据  指定或不指定列名都可
INSERT INTO TEST1 (ID, Name, Age)
VALUES (1, '张三', 16),
	   (2, '张二', 5),
       (3, '张三', 13), 
       (4, '张四', 4);

6.查询数据 select

1.查询指定表中所有数据
SELECT * FROM TEST;
2.查询指定表中指定列的数据
-- 查询指定表中的 Name 和 Age 列的数据
SELECT Name, Age FROM TEST;

SQL中的运算符 > < = != 以及 AND OR NOT

3.带一个条件的查询
-- 1.查询 TEST 表中 Age 大于 25 的数据
SELECT * FROM TEST WHERE Age > 25;

-- 2.查询 TEST 表中 Name 为 '张三' 的数据
SELECT * FROM TEST WHERE Name = '张三';

-- 3.查询NAME不等于 '张三' 的数据
SELECT * FROM TEST WHERE NAME != '张三';
4.多条件查询
-- 查询年龄大于 25 且姓名为 '张三' 的记录
SELECT *  FROM TEST WHERE AGE > 25 AND NAME = '张三';
5.排序查询结果
-- 按 Age 列升序排序查询 test 表的数据
SELECT * FROM TEST ORDER BY Age;

-- 按 Age 列降序排序查询 test 表的数据
SELECT * FROM TEST ORDER BY Age DESC;
6.限制查询结果的数量
7.模糊查询

1.查询以表中指定列中以指定字符开头的数据

-- 查询姓名以 '张' 开头的记录
SELECT * FROM TEST WHERE NAME LIKE '张%';

2.查询表中指定列中包含指定字符的数据

-- 查询姓名中包含 '三' 的记录
SELECT * FROM TEST WHERE NAME LIKE '%三%';

7.去除表中的重复值

注意:去除重复的数据仅仅作用于查询时(使用select可能会查询到很多数据,这些数据中可能会有多条重复的数据,distinct只会去除查询时重复的数据),表中的实际数据是不会删除的。

-- 对Name列进行处理,去除重复的姓名,只返回不同的姓名
SELECT DISTINCT Name FROM TEST;

8.SQL中常用函数

1.AVG 平均值函数

-- 求 TEST 表中AGE列的平均值
-- select AVG(列名) from 表名;

select AVG(AGE) from TEST;

2.MAX 最大值函数

-- SELECT MAX(列名) FROM 表名;

SELECT MAX(ID) FROM TEST;

3.MIN 最小值函数

-- SELECT MIN(列名) FROM 表名;

SELECT MIN(AGE) FROM TEST;

4.SUM 求和函数

-- SELECT SUM(列名) FROM 表名;

SELECT SUM(SALARY) FROM TEST; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值