一文读懂SQL的增删改查(基础教程)

2023-07-01 23:41:37

         前言

一、一些最重要的 SQL 命令

二、查询(SELECT)

1、查询所有列

2、查询指定列

3、查询并去重(DISTINCT )

4、按条件查询where

 5、SQL AND & OR 运算符

6、SQL ORDER BY 关键字

7、SQL LIMIT 关键字

8、SQL LIKE 操作符

9、SQL IN 操作符

9、SQL BETWEEN 操作符

三、插入(INSERT INTO)

四、更新(UPDATE)

五、删除(DELETE)

总结


前言

            SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)


一、一些最重要的 SQL 命令

  • SELECT - 从数据库中提取数据
  • UPDATE - 更新数据库中的数据
  • DELETE - 从数据库中删除数据
  • INSERT INTO - 向数据库中插入新数据
  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

二、查询(SELECT)

1、查询所有列

SELECT * FROM Websites   

2、查询指定列

SELECT name,country FROM Websites;  

3、查询并去重(DISTINCT )

SELECT DISTINCT country FROM Websites;

4、按条件查询where

SELECT * FROM Websites WHERE id=1;

SELECT * FROM Websites WHERE country='CN';

 5、SQL AND & OR 运算符

从 "Websites" 表中选取国家为 "CN" 且alexa排名大于 "50" 的所有网站:
SELECT * FROM Websites WHERE country='CN' AND alexa > 50;

从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户:
SELECT * FROM Websites WHERE country='USA' OR country='CN';

从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站:
SELECT * FROM Websites WHERE alexa > 15 AND (country='CN' OR country='USA');

6、SQL ORDER BY 关键字

ORDER BY 关键字用于对结果集进行排序。

  • ASC:表示按升序排序。
  • DESC:表示按降序排序。
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

7、SQL LIMIT 关键字

LIMIT指定返回的记录的数目

SELECT *
FROM Persons
LIMIT 5;

8、SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;

示例
选取 name 以字母 "G" 开始的所有客户

SELECT * FROM Websites
WHERE name LIKE 'G%';

选取 name 以字母 "k" 结尾的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%k';

选取 name 包含模式 "oo" 的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%oo%';

选取 name 不包含模式 "oo" 的所有客户:

SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

9、SQL IN 操作符

IN 操作符允许您在 WHERE 子句中规定多个值。

SELECT * FROM Websites
WHERE name IN ('Google','百度','必应');

9、SQL BETWEEN 操作符

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

示例:

选取 alexa 介于 1 和 20 之间的所有网站:

SELECT * FROM Websites
WHERE alexa BETWEEN 1 AND 20;

选取 alexa 介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:

SELECT * FROM Websites
WHERE (alexa BETWEEN 1 AND 20)
AND country NOT IN ('USA', 'IND');

选取 date 介于 '2016-05-10' 和 '2016-05-14' 之间的所有访问记录:

SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';

三、插入(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');


四、更新(UPDATE)

UPDATE 语句用于更新表中已存在的记录。

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

注意:

在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示

UPDATE Websites
SET alexa='5000', country='USA'

执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。


五、删除(DELETE)

DELETE 语句用于删除表中的记录。

DELETE FROM table_name
WHERE condition;

示例

DELETE FROM Websites WHERE name='Facebook' AND country='USA';

注意

您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:

DELETE FROM table_name;

注释:在删除记录时要格外小心!因为您不能重来!


总结

        以上就是今天要讲的内容,本文将学到如何使用 SQL 访问和处理数据系统中的数据的简单语法,那么在下一章节我们会进一步讲解SQL的高级教程:SQL的左联,右联,内联及SQL的一些内置函数COUNT() SUM()以及SQL的优化等等,如果本文章对正在电脑面前的你有帮助的话,可以给博主一个一键三连支持一下

更多推荐

[npm] npx 介绍与使用说明

[npm]npx介绍与使用说明npm的由来npx是什么?npx特点npx的特点项目安装包的使用全局安装包的避免指定工具包版本--no-install参数和--ignore-existing参数使用不同版本的node-p参数-c参数实战应用执行GitHub源码npm的由来说到npm就离不开社区文化,那什么是社区文化?社区

【C++】构造函数初始化列表 ⑤ ( 匿名对象 生命周期 | 构造函数 中 不能调用 构造函数 )

文章目录一、匿名对象生命周期1、匿名对象生命周期说明2、代码示例-匿名对象生命周期二、构造函数中调用构造函数1、构造函数中不能调用构造函数2、代码示例-构造函数中调用构造函数构造函数初始化列表总结:初始化列表可以为类的成员变量提供初始值;初始化列表可以调用类的成员变量类型的构造函数进行成员变量初始化操作;初始化列表可以

蓝桥杯 题库 简单 每日十题 day3

01约数个数题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。1200000有多少个约数(只计算正约数)。解题思路枚举,从1开始一直到1200000本身都作为1200000的除数,如果可以整除,则是它的约数#include<iostream>usingnamespacestd;intmai

【C++】构造函数初始化列表 ① ( 类对象作为成员变量时的构造函数问题 | 构造函数初始化列表语法规则 )

文章目录一、类对象作为成员变量时的构造函数问题1、问题描述2、错误代码示例二、构造函数初始化列表1、构造函数初始化列表语法规则2、代码示例-构造函数初始化列表语法规则一、类对象作为成员变量时的构造函数问题1、问题描述如果一个类A的对象作为另外一个类B的成员变量时,在以下场景会报错:为类A定义有参的构造函数,那么A的无参

《重构改善代码设计》

文章目录1.重构的原则2.代码的坏味道3.第一组重构3.1.提炼函数3.2.内联函数3.3.提炼变量3.4.内联变量3.5.修改函数名称3.6.封装变量3.7.变量改名3.8.引入参数对象3.9.函数组合成类3.10.函数组合成变换3.11.拆分阶段4.封装4.1.封装记录4.2.封装集合4.3.以对象取代基本类型4.

redis 初识与入门

1.什么是RedisRedis是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis提供了多种数据类型来支持不同的业务场景,比如String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)

Mysql的逻辑架构、存储引擎

1.逻辑架构剖析1.1服务器处理客户端请求首先MySQL是典型的C/S架构,即Clinet/Server架构,服务端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。那服务

什么是枚举类型?如何定义和使用枚举?

枚举类型是C语言中一种非常有用的数据类型,它允许你创建一组有限的命名常量,以提高代码的可读性和可维护性。本文将详细解释什么是枚举类型,如何定义和使用它们。什么是枚举类型?在C语言中,枚举类型(Enum)是一种用户定义的数据类型,它允许你为一组相关的常量赋予有意义的名字。枚举类型的主要优点是它可以帮助你使代码更易于理解,

优思学院|六西格玛核心方法:CTQ关键质量树

在六西格玛管理方法中,CTQ是Critical-To-Quality的缩写。CTQ代表客户需求,这些需求被认为是项目/产品/流程的成功与否的关键因素,得到了执行团队的认可。CTQ树最初是作为六西格玛方法的一部分开发的。然而,您可以在各种情况下使用它们,包括在为内部客户开发产品、流程和服务时。例如,“改善客户服务”这样的

面试中的压力测试:如何稳定自己的心态

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🦄博客首页——🐅🐾猫头虎的博客🎐🐳《面试题大全专栏》🦕文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》🐾学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》🐅学会Gol

Ribbon负载均衡器

两种:1.1集中式负载均衡,服务端负载均衡硬件nginx轮询、负载、哈希、随机、权重为什么要做负载均衡?1.2客户端负载均衡器用客户端负载均衡器很多机制可以自定义小知识:不想让别人调自己,只想用别人的,怎么做?只需要不注册spring.cloud.nacos.discovery.register-enabled=fal

热文推荐