【MySQL】入门篇—SQL基础:SQL语言概述

ops/2024/10/17 19:02:29/

SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系数据库的标准语言。随着信息技术的快速发展,数据成为企业和组织最重要的资产之一。有效地存储、查询和管理数据对于业务决策和运营至关重要。

SQL作为与关系数据库交互的主要工具,广泛应用于数据分析、应用开发和系统集成等多个领域。

SQL语言的主要功能包括数据查询、数据更新、数据插入和数据删除等。掌握SQL不仅可以帮助开发者和数据分析师高效地操作数据库,还能提高数据管理的灵活性和效率。

SQL语言的基本概念

SQL语言主要由以下几个部分组成:

  1. 数据查询(SELECT)

  2. 数据插入(INSERT)

  3. 数据更新(UPDATE)

  4. 数据删除(DELETE)

  5. 数据定义(DDL)

  6. 数据控制(DCL)

下面将通过具体示例详细介绍每个部分的使用。

1. 数据查询(SELECT)

SELECT语句用于从数据库中查询数据。它是SQL中最常用的命令之一。

示例:查询所有用户信息

SELECT * FROM users;

解释:

  • SELECT *表示选择所有列,FROM users指定查询的表名为users

  • 这个查询将返回users表中的所有记录和所有字段。

示例:查询特定列

SELECT username, email FROM users;

解释:

  • 这里我们只选择usernameemail这两列,而不是所有列。

  • 这种方式可以提高查询效率,尤其是在表中有很多列时。

2. 数据插入(INSERT)

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

示例:插入新用户

INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');

解释:

  • INSERT INTO users指定插入的目标表为users

  • (username, email)指定要插入的列,VALUES ('john_doe', 'john@example.com')指定插入的值。

  • 这条语句将新用户john_doe和其邮箱john@example.com插入到users表中。

3. 数据更新(UPDATE)

UPDATE语句用于修改数据库中已有的数据。

示例:更新用户邮箱

UPDATE users SET email = 'john_new@example.com' WHERE username = 'john_doe';

解释:

  • UPDATE users指定要更新的表为users

  • SET email = 'john_new@example.com'表示将email列的值更新为john_new@example.com

  • WHERE username = 'john_doe'是条件语句,确保只更新用户名为john_doe的用户。

  • 如果没有WHERE子句,所有用户的邮箱都会被更新。

4. 数据删除(DELETE)

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

示例:删除特定用户

DELETE FROM users WHERE username = 'john_doe';

解释:

  • DELETE FROM users表示从users表中删除记录。

  • WHERE username = 'john_doe'是条件,确保只删除用户名为john_doe的用户。

  • 同样,如果没有WHERE子句,所有用户记录都会被删除。

5. 数据定义(DDL)

数据定义语言(DDL)用于定义数据库结构,包括创建、修改和删除数据库对象(如表、索引等)。

示例:创建用户表

CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE
);

解释:

  • CREATE TABLE users表示创建一个名为users的表。

  • id INT PRIMARY KEY AUTO_INCREMENT定义了一个自增的主键列。

  • username VARCHAR(50) NOT NULL定义了一个不允许为空的用户名列。

  • email VARCHAR(100) NOT NULL UNIQUE定义了一个不允许为空且唯一的邮箱列。

6. 数据控制(DCL)

数据控制语言(DCL)用于控制访问权限和权限管理。

示例:授予用户权限

GRANT SELECT, INSERT ON users TO 'username'@'localhost';

解释:

  • GRANT SELECT, INSERT表示授予对users表的查询和插入权限。

  • ON users指定权限的目标表。

  • TO 'username'@'localhost'指定被授予权限的用户。

结论

SQL是一种强大的工具,用于与关系数据库进行交互。通过掌握SQL的基本语法和操作,开发者和数据分析师能够高效地管理和分析数据。无论是在开发新应用、进行数据分析,还是维护现有数据库,SQL都是不可或缺的技能。


http://www.ppmy.cn/ops/126276.html

相关文章

用SQLyog连接mysql提示2058错误

1)在cmd下(必须是这个,不能是gitbash) // step1:修改下数据库 C:\Users\elex>mysql -uroot -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 97 Server version: 8.1.0 MySQL Community Server - GPLCopy…

多场景多任务建模(三): M2M(Multi-Scenario Multi-Task Meta Learning)

多场景建模: STAR(Star Topology Adaptive Recommender) 多场景建模(二): SAR-Net(Scenario-Aware Ranking Network) 前面两篇文章,讲述了关于多场景的建模方案,其中可以看到很多关于多任务学习的影子&…

【排序】——2.快速排序法(含优化)

快速排序法 递归法 霍尔版本(左右指针法) 1.思路 1、选出一个key,一般是最左边或是最右边的。 2、定义一个begin和一个end,begin从左向右走,end从右向左走。(需要注意的是:若选择最左边的数据作为key,则…

VScode连接远程服务器踩坑实战(新版离线vscode-server安装)

想要用VScode连接远程服务器,但远程服务器并没有连接外网,因此需要离线手动安装vscode-server但网上的方法都是旧版本的安装,没有新版本的配置。因此记录一下我都踩坑实战。 1、VScode扩展安装与配置 (1)vscode扩展安…

红日安全vulnstack (二)

目录 环境搭建 网卡设置 修改Kali网段 IP 分布 WEB渗透 Weblogin服务开启 漏洞扫描 CVE工具利用 MSF上线 内网渗透 域内信息收集 凭证横向移动 权限维持 黄金票据 参考文章 https://www.cnblogs.com/bktown/p/16904232.htmlhttps://blog.csdn.net/m0_75178803/ar…

Unity的Compute Shader如何进行同步?

在Unity的Compute Shader中,同步的概念与常规的CPU编程有所不同,因为Compute Shader主要是并行地在GPU上执行大量简单任务。GPU的设计初衷就是为了并行处理大量数据,因此Compute Shader的执行通常被设计为异步的,并且不直接受到CP…

FPGA学习

Tang Primer 25K Tang Primer 25K 是基于 GW5A-LV25MG121 所设计的一款极小封装的核心板(23x18mm),并配套全引脚引出(除MIPI高速脚外)的25K Dock底板。(国产高云FPGA),作为学习使用,非常小巧,大家可以购买&…

sql server尽量避免滥用影响性能的标量函数

相信很多新手学了 函数的用法就不可避免的想把学到的东西用起来,然而这个函数使用却有坑, 在实际用的时候我发现一个简单的计算封装 ,不用函数和用函数执行耗时差太多了。 能避免列上进行函数则尽量避免,这是在实际上遇到的坑 &am…