首页 > 数据库 >SQL 入门教程:从基础到实践

SQL 入门教程:从基础到实践

时间:2024-06-17 22:35:47浏览次数:15  
标签:name employees 入门教程 实践 数据库 SQL department id

在这里插入图片描述

前言

SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。无论你是测试工程师、开发人员,还是数据分析师,掌握 SQL 都能帮助你更高效地工作。本文将详细介绍 SQL 的基本概念、常用语法和实践操作,帮助初学者快速入门。

什么是 SQL?

SQL 是一种标准化的语言,用于访问和操作数据库。它能够执行查询、插入、更新、删除数据库中的数据,并能创建、修改和管理数据库结构。

数据库基础

在学习 SQL 之前,了解一些基本的数据库概念是很有帮助的。

数据库(Database)

数据库是一个组织化的数据集合,用于存储和管理数据。

表(Table)

表是数据库中的基本存储单位,包含若干行和列。每一行表示一条记录,每一列表示一个字段。

行(Row)和列(Column)

  • 行(Row):也称为记录,每一行包含了一组相关的数据。
  • 列(Column):也称为字段,每一列表示某种类型的数据。

SQL 基本语法

SQL 语法可以分为以下几类:

数据查询语言(DQL)

用于查询数据库中的数据,最常用的语句是 SELECT。

数据定义语言(DDL)

用于定义数据库结构,例如创建、修改和删除数据库对象(如表)。

数据操纵语言(DML)

用于插入、更新、删除数据库中的数据。

数据控制语言(DCL)

用于定义数据库的访问权限和安全级别。

基本 SQL 操作

  1. 查询数据

SELECT 语句用于从数据库中查询数据。

SELECT column1, column2, ...
FROM table_name;

示例:查询名为 employees 的表中的 first_namelast_name 列。

SELECT first_name, last_name
FROM employees;
  1. 插入数据

INSERT INTO 语句用于向表中插入新数据。

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

示例:向 employees 表中插入一条新记录。

INSERT INTO employees (first_name, last_name, email)
VALUES ('John', 'Doe', '[email protected]');
  1. 更新数据

UPDATE 语句用于修改表中的数据。

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

示例:将 employees 表中 employee_id 为 1 的记录的 email 字段更新为 [email protected]

UPDATE employees
SET email = '[email protected]'
WHERE employee_id = 1;
  1. 删除数据

DELETE 语句用于删除表中的数据。

DELETE FROM table_name
WHERE condition;

示例:删除 employees 表中 employee_id 为 1 的记录。

DELETE FROM employees
WHERE employee_id = 1;

高级 SQL 操作

  1. 条件查询

使用 WHERE 子句进行条件查询。

示例:查询 employees 表中 last_nameSmith 的记录。

SELECT first_name, last_name
FROM employees
WHERE last_name = 'Smith';
  1. 排序

使用 ORDER BY 子句对结果进行排序。

示例:按 last_name 升序排序查询结果。

SELECT first_name, last_name
FROM employees
ORDER BY last_name ASC;
  1. 分组

使用 GROUP BY 子句对结果进行分组。

示例:按 department_id 分组并统计每个部门的员工数量。

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id;
  1. 联合查询

使用 JOIN 关键字进行表之间的联合查询。

示例:查询 employees 表和 departments 表,获取每个员工及其所属部门的名称。

SELECT employees.first_name, employees.last_name, departments.department_name
FROM employees
JOIN departments ON employees.department_id = departments.department_id;

实践操作

环境搭建

为了实际操作 SQL 语句,我们需要一个数据库环境。可以使用以下工具之一:

  1. 本地数据库:安装 MySQL、PostgreSQL 等数据库管理系统。
  2. 在线 SQL 编辑器:使用如 SQLFiddle 等在线工具。

示例数据库

我们将使用一个简单的示例数据库,其中包含 employeesdepartments 两个表。

CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(50)
);

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    email VARCHAR(100),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
);

INSERT INTO departments (department_id, department_name) VALUES
(1, 'HR'),
(2, 'Engineering'),
(3, 'Sales');

INSERT INTO employees (employee_id, first_name, last_name, email, department_id) VALUES
(1, 'John', 'Doe', '[email protected]', 1),
(2, 'Jane', 'Smith', '[email protected]', 2),
(3, 'Emily', 'Jones', '[email protected]', 3);

操作示例

  1. 查询所有员工信息:
SELECT * FROM employees;
  1. 查询工程部门的员工信息:
SELECT first_name, last_name
FROM employees
WHERE department_id = 2;
  1. 添加新员工:
INSERT INTO employees (employee_id, first_name, last_name, email, department_id)
VALUES (4, 'Mark', 'Brown', '[email protected]', 1);
  1. 更新员工邮箱:
UPDATE employees
SET email = '[email protected]'
WHERE employee_id = 1;
  1. 删除销售部门的员工:
DELETE FROM employees
WHERE department_id = 3;

总结

通过本文的学习,你应该已经掌握了 SQL 的基本概念和常用操作。SQL 是一门非常实用的技能,无论是在开发、测试还是数据分析中都能发挥重要作用。

标签:name,employees,入门教程,实践,数据库,SQL,department,id
From: https://www.cnblogs.com/hogwarts/p/18253352

相关文章

  • MySQL约束详解:构建数据完整性基石
    目录MySQL约束1.1约束1.1数据类型1.2主键约束[`重要`]1.3自增约束1.4唯一约束1.5非空约束1.6默认值代码演示1.7外键约束[了解]思维导图最后MySQL约束MySQL作为广泛使用的开源关系型数据库管理系统,其强大的数据约束功能对于维护数据的一致性和准确性至关重......
  • mysql手册
    查看mysql的配置文件位置mysql--help|grep"Defaultoptions"-C1输出如下,可知mysql读取默认选项的位置修改mysqlcmd提示符修改提示符有两种方法配置文件通常在~/.my.cnf中配置prompt命令在mysqlcmd中使用prompt[text]设置提示符格式对于不是控制字符的字符,......
  • 大数据SQL格式化规范及示例
    无论是数据仓库开发还是数据分析,编写清晰易读的SQL是一项基本的技能。本文将分享几个SQL格式的规范和示例,旨在提高SQL的可读性和可维护性。虽然这些规范没有严格的标准,但统一的格式可以帮助减少理解和维护SQL代码的时间。不管团队其他人怎样,自己写的要有规范!目录大小......
  • 达梦数据库执行SQL
     1.找到数据库安装路径 #路径ps-ef|grepdmserver进入/bin目录执行命令:#启动服务./disql 2.Linux内执行SQL回车执行SQL后会跟着2,3,4,等等记得SQL上加上;然后回车。建表:#新增users表。ID自增CREATETABLEusers(idINTP......
  • MySQL数据库管理补充
    目录一.数据表高级操作1.克隆表2.清空表3.创建临时表4.创建外键约束外键的定义主键表和外键表的理解4.1.创建主从表4.2.主从表中插入数据4.3.主从表中删除数据4.4.删除外检约束二.数据库用户管理1.新建用户2.查看用户信息3.重命名用户4.删除用户5.修改当前登......
  • sqlalchemy
    (一些框架介绍)1#1sqlalchemy企业级orm框架2官网:https://www.sqlalchemy.org/3#2python界的orm框架4-1django-orm#只能django框架用5-2peewee#小型orm框架:https://docs.peewee-orm.com/en/latest/peewee/quickstart.html6---......
  • AI大模型在运动项目的深度融合和在穿戴设备的实践及未来运动健康技术发展
    文章目录1.技术架构2.模型选择2.1LSTM(长短期记忆网络)2.2CNN(卷积神经网络)2.3Transformer3.数据处理数据预处理4.实时性要求4.1边缘计算4.2模型优化5.数据隐私与安全6.深入分析AI大模型在穿戴设备的应用和未来发展6.1.**多模态数据融合**6.2.**自适应学习......
  • TiDB placement_rule in sql使用
    1、配置好tikvlabel例如:tikv_servers:-host:10.37.129.6ssh_port:22port:20160status_port:20180deploy_dir:/tidb-deploy/tikv-20160data_dir:/tidb-data/tikv-20160log_dir:/tidb-deploy/tikv-20160/logconfig:server.labels:host......
  • debezium+kafka实现sqlserver数据同步(debezium-connector-sqlserver)
    SELECTCASEWHENdss.[status]=4THEN1ELSE0ENDASisRunningFROM[#db].sys.dm_server_servicesdssWHEREdss.[servicename]LIKEN'SQLServerAgent(%'1.情景展示在企业当中,往往会存在不同数据库之间的表的数据需要保持一致的情况(数据同步)。如何将A库a表的数据......
  • mysqlconf
    [mysqld]#max_connections=20000#数据传输可能出现大表中断与这个有关系port=13306default-authentication-plugin=mysql_native_password#datadir=/opt/data/mysql/mysql#socket=/opt/data/mysql/mysql/mysql.sockdatadir=/opt/data/mysql/mysql/mysqlsocket=/o......