你需要了解结构化查询语言

结构化查询语言(SQL)是用于与关系数据库进行交互的一组指令。 事实上,SQL是大多数数据库理解的唯一语言。 无论何时您与这样的数据库进行交互,软件都会将您的命令(无论是鼠标点击还是表单条目)转换为数据库知道如何解释的SQL语句。 SQL有三个主要组件:数据操作语言(DML),数据定义语言(DDL)和数据控制语言(DCL)。

Web上SQL的常见用途

作为任何数据库驱动的软件程序的用户,即使您不知道,也可能使用SQL。 例如,数据库驱动的动态网页(如大多数网站)从表单和点击中接收用户输入,并使用它来组成SQL查询 ,从数据库中检索生成下一个网页所需的信息。

考虑使用搜索功能的简单联机目录的例子。 搜索页面可能包含一个仅包含文本框的表单,您可以在其中输入搜索词,然后单击搜索按钮。 当您单击该按钮时,Web服务器会从包含搜索词的产品数据库检索任何记录,并使用结果创建特定于您的请求的网页。

例如,如果您搜索包含术语“Irish”的产品,服务器可能会使用以下SQL语句检索相关产品:

SELECT * FROM products WHERE name LIKE'%irish%'

经过翻译,此命令从名为“products”的数据库表中检索任何包含产品名称中任何位置的“irish”字符的记录。

数据操作语言

数据操作语言(DML)包含最常用的SQL命令子集 - 那些只是以某种形式操纵数据库内容的子集。 四个最常见的DML命令从数据库(SELECT)命令中检索信息,向数据库添加新信息(INSERT命令),修改当前存储在数据库中的信息(UPDATE命令),并从数据库中删除信息DELETE命令)。

数据定义语言

数据定义语言(DDL)包含较少使用的命令。 DDL命令修改数据库的实际结构,而不是数据库的内容。 常用的DDL命令包括用于生成新数据库表 (CREATE TABLE),修改数据库表(ALTER TABLE)和删除数据库表(DROP TABLE)的结构的示例。

数据控制语言

数据控制语言 (DCL)用于管理用户对数据库的访问 。 它由两个命令组成:GRANT命令(用于为用户添加数据库权限)和REVOKE命令(用于删除现有权限)。 这两个命令构成了关系数据库安全模型的核心。

SQL命令的结构

对于我们这些不是计算机程序员的人来说幸运的是,SQL命令被设计为具有类似于英语的语法。 它们通常以描述要采取的操作的命令语句开头,后跟一个描述命令目标的子句(例如受命令影响的数据库中的特定表),最后是一系列提供附加指令的子句。

通常,只需大声朗读一条SQL语句,就可以很好地了解该命令的用途。 花点时间阅读SQL语句的这个例子:

DELETE FROM students WHERE graduation_year = 2014

你能猜到这个陈述会做什么吗? 它访问学生的数据库表并删除2014年毕业的学生的所有记录。

学习SQL编程

本文中我们已经看了几个简单的SQL示例,但SQL是一个广泛而强大的语言。 有关更深入的介绍,请参阅SQL基础知识