当前位置: 首页 > news >正文

SQL 基础入门教程

目录

什么是 SQL?

SQL 的基本操作

数据库的创建和删除

表的创建和删除

数据的插入

数据的查询

数据的更新

数据的删除

SQL 的高级操作

表的连接

聚合函数

分组和排序

子查询

视图

索引

SQL 的数据完整性和约束

总结


SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。无论是查询数据、更新记录,还是创建数据库和表结构,SQL 都提供了强大的功能。本文旨在为初学者提供一份全面的 SQL 基础入门教程,帮助你快速上手并掌握 SQL 的基本操作。

什么是 SQL?

SQL 是一种用于访问和操作数据库的标准语言。它最早由 IBM 在 1970 年代开发,并在 1986 年被美国国家标准学会(ANSI)和国际标准化组织(ISO)采纳为标准。SQL 的主要功能包括:

  • 数据查询
  • 数据插入
  • 数据更新
  • 数据删除
  • 数据库和表的创建和修改
  • 数据库权限管理

SQL 的基本操作

数据库的创建和删除

在开始操作数据库之前,我们需要先创建一个数据库。以下是创建和删除数据库的基本语法:

-- 创建数据库
CREATE DATABASE 数据库名称;-- 删除数据库
DROP DATABASE 数据库名称;

例如,创建一个名为 TestDB 的数据库:

CREATE DATABASE TestDB;

删除 TestDB 数据库:

DROP DATABASE TestDB;

表的创建和删除

数据库创建好之后,我们需要在数据库中创建表。表是数据库的基本存储结构,由行和列组成。以下是创建和删除表的基本语法:

-- 创建表
CREATE TABLE 表名称 (列名称1 数据类型 约束条件,列名称2 数据类型 约束条件,...
);-- 删除表
DROP TABLE 表名称;

例如,创建一个名为 Employees 的表:

CREATE TABLE Employees (EmployeeID INT PRIMARY KEY,FirstName VARCHAR(50),LastName VARCHAR(50),BirthDate DATE,Salary DECIMAL(10, 2)
);

删除 Employees 表:

DROP TABLE Employees;

数据的插入

创建表后,我们可以向表中插入数据。以下是插入数据的基本语法:

INSERT INTO 表名称 (列名称1, 列名称2, ...) VALUES (值1, 值2, ...);

例如,向 Employees 表中插入一条记录:

INSERT INTO Employees (EmployeeID, FirstName, LastName, BirthDate, Salary) 
VALUES (1, 'John', 'Doe', '1980-01-01', 50000.00);

数据的查询

查询数据是 SQL 中最常用的操作之一。以下是基本的查询语法:

SELECT 列名称1, 列名称2, ... FROM 表名称 WHERE 条件;

例如,查询 Employees 表中的所有记录:

SELECT * FROM Employees;

查询 Employees 表中 Salary 大于 30000 的记录:

SELECT * FROM Employees WHERE Salary > 30000;

数据的更新

有时我们需要修改表中的数据。以下是更新数据的基本语法:

UPDATE 表名称 SET 列名称1 = 新值1, 列名称2 = 新值2, ... WHERE 条件;

例如,更新 Employees 表中 EmployeeID 为 1 的记录,将 Salary 修改为 55000:

UPDATE Employees SET Salary = 55000 WHERE EmployeeID = 1;

数据的删除

删除表中的数据也是常见操作之一。以下是删除数据的基本语法:

DELETE FROM 表名称 WHERE 条件;

例如,删除 Employees 表中 EmployeeID 为 1 的记录:

DELETE FROM Employees WHERE EmployeeID = 1;

SQL 的高级操作

表的连接

在实际应用中,我们经常需要从多个表中查询数据。表的连接(JOIN)操作可以实现这一点。以下是基本的连接语法:

SELECT 列名称1, 列名称2, ... FROM 表1 JOIN 表2 ON 表1.列名称 = 表2.列名称;

例如,有两个表 Departments 和 Employees,我们可以通过部门 ID(DepartmentID)将这两个表连接起来:

CREATE TABLE Departments (DepartmentID INT PRIMARY KEY,DepartmentName VARCHAR(50)
);INSERT INTO Departments (DepartmentID, DepartmentName) VALUES (1, 'HR'), (2, 'Engineering');SELECT Employees.FirstName, Employees.LastName, Departments.DepartmentName
FROM Employees
JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;

聚合函数

SQL 提供了一些聚合函数,用于对数据进行汇总和统计。常见的聚合函数包括:

  • COUNT:计算行数
  • SUM:求和
  • AVG:平均值
  • MAX:最大值
  • MIN:最小值

例如,计算 Employees 表中的员工总数:

SELECT COUNT(*) FROM Employees;

计算 Employees 表中所有员工的平均工资:

SELECT AVG(Salary) FROM Employees;

分组和排序

分组(GROUP BY)和排序(ORDER BY)操作是 SQL 中的两个重要功能。分组用于将数据按某一列进行分组,并对每组数据进行聚合计算;排序用于对查询结果按照某一列进行升序或降序排列。

例如,按照部门分组,计算每个部门的平均工资:

SELECT DepartmentID, AVG(Salary) AS AvgSalary
FROM Employees
GROUP BY DepartmentID;

按照工资降序排列查询结果:

SELECT * FROM Employees
ORDER BY Salary DESC;

子查询

子查询是嵌套在其他 SQL 语句中的查询,可以用来进行复杂的数据筛选和计算。子查询可以出现在 SELECTINSERTUPDATE 和 DELETE 语句中。

例如,查询工资最高的员工:

SELECT * FROM Employees
WHERE Salary = (SELECT MAX(Salary) FROM Employees);

视图

视图(View)是基于 SQL 查询结果的虚拟表,可以简化复杂查询并提高数据安全性。以下是创建和删除视图的基本语法:

-- 创建视图
CREATE VIEW 视图名称 AS
SELECT 查询内容;-- 删除视图
DROP VIEW 视图名称;

例如,创建一个仅包含员工姓名和工资的视图:

CREATE VIEW EmployeeSalaries AS
SELECT FirstName, LastName, Salary FROM Employees;

查询 EmployeeSalaries 视图:

SELECT * FROM EmployeeSalaries;

索引

索引(Index)用于提高数据库查询性能。以下是创建和删除索引的基本语法:

-- 创建索引
CREATE INDEX 索引名称 ON 表名称 (列名称);-- 删除索引
DROP INDEX 索引名称;

例如,创建一个基于 LastName 列的索引:

CREATE INDEX idx_lastname ON Employees (LastName);

SQL 的数据完整性和约束

在设计数据库时,确保数据的完整性和一致性非常重要。SQL 提供了多种约束条件来保证数据的正确性和有效性,常见的约束条件包括:

  • PRIMARY KEY:主键,唯一标识表中的每一行记录
  • FOREIGN KEY:外键,用于建立表之间的关系
  • UNIQUE:唯一约束,确保列中的值唯一
  • NOT NULL:非空约束,确保列中的值不能为空
  • CHECK:检查约束,确保列中的值符合指定条件

例如,创建一个 Orders 表,包含上述约束:

CREATE TABLE Orders (OrderID INT PRIMARY KEY,EmployeeID INT,OrderDate DATE NOT NULL,Amount DECIMAL(10, 2) CHECK (Amount > 0),FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)
);

总结

通过本文的学习,相信你已经掌握了 SQL 的基本操作和一些高级功能。SQL 是一个功能强大且灵活的工具,可以帮助你高效地管理和操作数据库。在实际应用中,理解和熟练使用 SQL 将大大提高你的工作效率。

为了进一步提升你的 SQL 技能,建议你多动手实践,多尝试不同的查询和操作。同时,可以参考更多的 SQL 教程和文档,不断深入学习和探索 SQL 的高级功能。希望本文能为你的 SQL 学习之旅提供一个良好的起点。

http://www.lryc.cn/news/378387.html

相关文章:

  • <Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换
  • 小程序开发的费用简介篇
  • torch.unflod与torch.nn.functional.pad用法
  • 江苏 服务器性能监控包含哪些方面?
  • 卓越的 App UI 风格引领潮流
  • BirdTalk IM集群中消息流转策略讨论
  • 重磅!2024年最新影响因子正式发布,附Excel下载
  • 【会议征稿】2024年应用计算智能、信息学与大数据国际会议(ACIIBD 2024,7月26-28)
  • 【代码发布】Quantlab4.3:lightGBM应用于全球大类资产的多因子智能策略(代码+数据)
  • 【毕业设计】Django 校园二手交易平台(有源码+mysql数据)
  • 文章自动生成器,在线AI写作工具
  • Matlab初识:什么是Matlab?它的历史、发展和应用领域
  • 大模型之-Seq2Seq介绍
  • NSSCTF-Web题目12
  • 22、架构-资源与调度
  • mac 常用工具命令集合
  • 服务器雪崩的应对策略之----限流
  • Python12 列表推导式
  • threejs 光影投射-与场景进行交互(六)
  • Ubuntu 20.04安装显卡驱动、CUDA和cuDNN(2024.06最新)
  • 二叉树的这五种遍历方法你们都会了吗?
  • 使用模数转换器的比例电阻测量基础知识
  • (C++语言的设计和演化) C++的设计理念
  • AI音乐:创新引擎还是创意终结者?
  • 20240621每日后端---------如何优化项目中的10000个if-else 语句?
  • 【STM32】时钟树系统
  • docker换源
  • 百度在线分销商城小程序源码系统 分销+会员组+新用户福利 前后端分离 带完整的安装代码包以及搭建部署教程
  • Flutter【组件】富文本组件
  • 中国恋爱交友相亲软件有哪些?大型婚恋相亲交友APP真实测评推荐