命令
描述
示例
ADD
向现有表中添加列或约束(如指定)。
ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);
ALTER TABLE employee ADD last_name varchar2(255); ALTER TABLE employee ADD CONSTRAINT emp_det PRIMARY KEY (id, last_name);
ALTER TABLE
修改指定的表以添加、更新或删除表的列。
ALTER TABLE employee ADD last_name varchar2(255);
ALTER TABLE employee DROP COLUMN last_name;
ALTER COLUMN
更改列的数据类型。例如,将employee表的joining_date列的类型从varchar2更改为datetime。
ALTER TABLE employee ALTER COLUMN joining_date datetime;
ALL
与SELECT、WHERE和HAVING一起使用的逻辑运算符,如果所有值满足子查询条件,则返回true。
SELECT employee_name, joining_date from employee WHERE employee_id = ALL (select employee_id from department_details WHERE department = 'R&D');
AND
逻辑运算符,仅当WHERE子句中的所有条件都满足时才返回true。
SELECT employee_name, salary from employee WHERE city = 'California' AND salary > 2000;
ANY
逻辑运算符;如果子查询的值中有一个满足where子句中的条件,则返回true。
SELECT employee_id, employee_name from employee WHERE employee_id = ANY (select employee_id from department_details WHERE department = 'HR' OR department = 'R&D');
AS
为表或列创建一个别名,直到查询执行结束,当名称被多次使用时非常有用,特别是在表连接期间。
SELECT count(employee_id) AS employees_from_houston from employee WHERE city = 'Houston';
ASC
按升序返回数据,与ORDER BY子句一起使用。ORDER BY本身默认按升序排序结果。
SELECT employee_name, joining_date, salary from employee ORDER BY employee_name ASC;
BETWEEN
选择范围内的值。
SELECT employee_name, joining_date, department_id from employee WHERE salary BETWEEN 40000 AND 100000;
CASE
由一组语句组成;返回为true的语句的值,如果没有条件满足,则执行ELSE部分中的条件。如果没有else,则返回NULL。
SELECT order_amount, customer_id, contact_email CASE WHEN order_amount > 3000 THEN "符合40%折扣条件" WHEN order_amount between 2000 and 3000 THEN "符合25%折扣条件" ELSE "符合5%折扣条件" END FROM order_details;
CREATE DATABASE
创建指定名称的新数据库。
CREATE DATABASE movies_development;
CREATE TABLE
使用指定的表名和列名创建新表。
CREATE TABLE movie_info (movie_name varchar2(255), release_date datetime, lead_actor varchar2(255), music_director varchar2(255));
DEFAULT
为指定的列设置默认值,与CREATE或ALTER TABLE命令一起使用。
CREATE TABLE employee (joining_date SET DEFAULT CURRENT_DATE);
ALTER TABLE product ALTER is_available SET DEFAULT true;
DELETE
从指定的表中删除数据。
DELETE from employee where employee_id = 345;
DESC
按降序返回数据,与ORDER BY子句一起使用。
SELECT employee_name, joining_date, salary from employee ORDER BY employee_name DESC;
DROP COLUMN
从指定的表中删除指定的列。
ALTER TABLE employee DROP COLUMN employee_name;
DROP DATABASE
删除整个数据库。
DROP DATABASE movies_development;
DROP DEFAULT
删除指定列的默认值。
ALTER TABLE employee ALTER COLUMN is_available DROP DEFAULT;
DROP TABLE
删除指定的表。
DROP TABLE employee;
EXISTS
检查子查询中是否存在记录,并且如果找到一个或多个结果,则返回true。
SELECT employee_id, contact_number FROM employee WHERE EXISTS (SELECT employee_id, department FROM department WHERE employee_id = 345 AND
聚合函数
聚合函数是对像int和float这样的数字列进行数据操作的命令。它们在数据库层面上对数据进行过滤和排序非常有帮助。一些常用的聚合函数有:
函数
描述
示例
AVG
返回指定列的平均值
SELECT AVG(marks) from students where subject = ‘English’;
MIN
返回指定列的最小值
SELECT MIN(price) from product WHERE product_category = ‘shoes’;
MAX
返回指定列的最大值
SELECT MAX(quantity), product_name from inventory;
COUNT
返回满足查询条件的行数
显示员工表中的记录总数。
SELECT COUNT(*) from employee;
显示工资大于20000的员工人数。
SELECT COUNT(*) from employee where salary > 20000;
SUM
返回指定数值列的值之和
SELECT SUM(marks) from students where subject = ‘English’;
常用的聚合函数
SQL连接
SQL连接非常重要,因为它们可以连接和筛选来自多个表的数据。如果没有正确执行,连接可能会给出意外的结果。下表将帮助您快速参考4种类型的SQL连接:
连接类型
描述
语法
示例
内连接
返回连接表中匹配的记录;类似于交集。
SELECT column1, column2… from table1 INNER JOIN table2 on table1.columnN = table2.columnN;
select c.customer_id, o.order_id, c.customer_phone from customer c INNER JOIN order o on c.customer_id = o.customer_id;
全外连接
返回在左表或右表上具有匹配的所有记录。类似于并集。
SELECT column1, column2… from table1 FULL OUTER JOIN table2 on table1.columnN = table2.columnN;
select c.customer_id, o.order_id, c.customer_phone from customer c FULL OUTER JOIN order o on c.customer_id = o.customer_id;
左连接
返回左表中的所有记录以及与右表上的条件匹配的记录
SELECT column1, column2… from table1 LEFT JOIN table2 on table1.columnN = table2.columnN;
select c.country_id, c.country_name, l.location_name from country c LEFT JOIN locations l on c.country_id = l.country_id;
右连接
返回右表中的所有记录以及与左表上的条件匹配的记录
SELECT column1, column2… from table1 RIGHT JOIN table2 on table1.columnN = table2.columnN;
select c.country_id, c.country_name, l.location_name from country c RIGHT JOIN locations l on c.country_id = l.country_id;
带有语法和示例的连接类型
其他资源
SQL是软件开发人员、数据科学家和分析师等的重要工具。一份SQL命令的便携参考手册可以节省您很多时间,并帮助您了解每个关键字的预期输出。
有关更多信息,请参考以下资源:
SQL Tutorial: SQL Cheat Sheet
Intellipaat: SQL Commands Cheat Sheet
WebsiteSetup: SQL Cheat Sheet
ProgrammingWithMosh: SQL Cheat Sheet
PostgreSQL Cheat Sheet
Related
姚伟斌
程序猿
我是姚伟斌,也被称为文景。我的专业领域涵盖了开放源代码的深度探索、网络编程和网络建站。我热衷于分享我的编程和建站实践经验,尤其擅长于Nginx和Proxy服务器的管理。此外,我还对Python和NodeJS这两种编程语言有着深刻的理解和独到的见解。
最近,我致力于爬虫技术的研究,探索如何通过高效的数据抓取为项目增添价值。我的目标是通过持续的学习和创新,为开放源代码社区贡献我的力量,并帮助那些对网络编程和网站建设感兴趣的人士。
Post navigation
Similar Posts
Log4j漏洞是现代系统中最致命的安全问题之一。日志记录是现代应用程序的关键特性,而日志记录库, ,及HTML标签
人工智能(ai)以各种方式影响了我们的生活,使复杂的任务变得更加容易。如果您拥有一家企业,您可能已经知道视频内容是必不可少的。 对于大多数人来说,视频是最受欢迎的内容形式。因此,如果您想增加影响力和参与度,您必须选择视频内容创作。 ai人工智能说话的化身创作者非常适合此目的,因为它们可以让您在几分钟内创建专业的视频内容,而无需雇佣真正的主持人。这些化身的外观、动作和语言都像真正的人类,消除了摄像头或演员的需求。在本文中,我们将介绍一些最好的用于视频的ai说话化身创作者。 ai说话的化身是什么? ai说话的化身是能够使用用户输入进行说话的计算机生成的虚拟角色。这种能够使用用户输入生成语音的能力使得ai说话的化身与预先录制的对话不同。 在许多情况下,开发人员根据真实个体创建这些说话化身。这些个体/演员的声音和外貌成为这些说话化身的模型。与人工、呆板的计算机生成角色相比,这产生了一个更具自然外貌的角色。 ai说话的化身的商业用途 如今,ai说话的化身在许多领域和不同目的中都有用途。以下是它们最为人所知的一些用途: #1. 提升参与度 企业使用说话化身来增加受众的参与度。我们都知道视频内容更能 resonates 受到观众的共鸣。添加一个超逼真的ai化身,使内容更具人性化,更有效地吸引观众的注意。 #2. 虚拟助手 主要企业使用说话化身作为虚拟助手,帮助用户轻松地浏览其服务。此外,它们回答客户的问题,并提供个性化的帮助,以丰富用户体验。大多数虚拟助手可以说多种语言。这使用户可以用他们的当地语言获得帮助。…
安装Apache HTTP总是很有趣的。 几天前,我在CentOS虚拟机上安装Apache 2.4时遇到了多个错误。 我以为这会是很简单的过程,但事实证明我错了。
Windows使用环境变量来存储关于系统进程、资源使用、文件路径等有价值的信息。
关键的商业应用程序,例如金融系统、消息应用、saas、api等,对于运行业务操作至关重要,最好的专用服务器托管可以帮助您保持其在最佳状态。 这是因为如果关键的商业应用程序中断或失败,会影响基本的组织运营。因此,企业的效率、应用性能、财务、生产力、安全性和客户信任都会受到影响。在充满竞争的市场上,这足以对您的品牌权威造成损害。 这就是为什么您必须尽一切可能维护应用程序的健康状态,以实现最大效率。为此,专用服务器托管可以通过提供顶级性能、安全性和稳定性来帮助您的关键业务应用程序,借助其先进的技术。 在本文中,我们将了解专用服务器托管如何为您的业务应用程序带来好处,然后查看一些最佳的网络托管提供商。 在这里! 什么是专用服务器托管? 专用服务器托管为您提供完全的服务器控制权,仅在一台强大的服务器上托管您的应用程序。在这里,您不必与他人共享服务器资源。因此,您将获得无与伦比的性能、正常运行时间、速度和安全性,这些都是驱动互联网应用程序所必需的要素。 此外,它们还提供了根访问权限,因此您可以控制服务器设置、安装软件、更改配置和其他功能。专用托管就像拥有整个房子一样。它为您提供了所有必要的功能和能力,使您的托管变得轻松,只是不会分配您的服务器资源。 然而,专用托管费用昂贵,但从其提供的功能来看,它是值得的。因此,如果您是一家成立已久的企业,并且您的流量、销售额和收入正在加速增长,那么只有在这种情况下才选择专用托管,因为您将有预算来承担这些费用。否则,它可能会给您带来过重的负担。 此外,专用托管适用于中型企业或为电子商务、医疗、金融、视频游戏等行业提供服务的企业。它们需要为其业务和客户数据提供高安全性和隐私。 您可以找到两种类型的专用托管-托管和非托管/自助托管。 在托管专用托管中,您的主机将处理服务器及其基础设施、维护、工具、更新、补丁、性能等。如果您没有专门的团队来处理服务器,则这对您有利。 非托管专用托管需要您自己照顾您的网络托管商分配给您的服务器。您将需要安装操作系统、安装软件和工具来运行操作、添加功能、监视应用程序和性能、安全性维护等等。如果您具备技术专长或拥有处理所有这些任务的团队,则这对您有利。它还比托管专用托管更便宜。 所以,如果您正在寻找一种适用于执行重型处理/工作的网络托管类型,则专用托管比虚拟专用服务器(vps)或虚拟机(vm)等选择更好。它们无法提供您运行关键业务应用所需的可靠性、性能、稳定性、控制和安全性。 专用或裸金属服务器的好处是什么? 裸金属服务器和专用服务器有时可以互换使用,它们相似但并不相同。它们在网络托管商向客户提供的方式上有所不同。…
交易者正在寻找最佳的交易环境和最佳机会来在外汇交易中获利。 外汇(forex),也叫做货币交易,是一个流动性高、交易量惊人的国际市场。它是世界上最大的金融市场,每天有价值6-7万亿美元的资产交易。 任何人都可以开始交易,甚至不需要太多投资,但是鉴于市场的高波动性,您需要对不断变化的市场情况保持警惕。更不用说,许多交易者在执行交易操作时失去了连接,导致巨额亏损 😠。 幸运的是,外汇vps可以解决这个问题。 与使用个人电脑进行交易相比,它更加有效。这是因为外汇交易需要高计算时间和更高的网络稳定性,而外汇vps正是为此而设计的。 外汇vps具有满足您外汇交易需求的功能和资源,并让您享受无干扰或中断的交易。在本文中,您将了解一些最佳的外汇 vps托管服务,这些服务可以为您提供稳定和安全的连接,并帮助您获得更多利润。 但是, 什么是外汇vps托管? 为此,让我们先了解vps托管。 服务器托管服务为用户提供了一台专用的 虚拟专用服务器(vps),用户可以利用可定制和高效的平台进行各种服务,如运行网站、玩高端视频游戏或外汇交易。 通过使用vps托管,您无需花费时间和金钱设置计算机或将计算机始终保持开启。外汇vps托管服务允许您利用自动化的算法方法和策略,在其首选平台上无缝交易,并在需要时获得交易专家的帮助。 使用vps进行交易有很多好处,其中一些如下。 交易自动化…
3 day trial | No set-up costs | Cancel anytime
×