DBMS 是一种系统软件,我们要与它交互的时候就必须使用某种语言,在数据库发展初期每一种DBMS 都有自己的特有的语言,不过逐渐的SQL 成为了所有DBMS 都支持的主流语言。SQL 是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

SQL的英文全称是Structured Query Language,它是1974 年由Boyce和Chamberlin提出的,并且首先在IBM的关系数据库原型产品R系统(SYSTEM R)上实现。它的前身是1972 提出的SQUARE(Specifying Queries As Relational Expressesion)语言,在1974 年做了修改,并且改名为SEQUEL(Structured English Query Language)语言,后来SEQUEL简化为SQL。

SQL 是高级的非过程化编程语言,允许用户在高层数据结构上工作。使用它,用户无需指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL 语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL 语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL 语句的输出作为另一条SQL 语句的输入,所以SQL 语言可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单

独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

SQL 具有下面4个主要的功能:创建数据库并定义表的结构;查询需要的数据;更新或者删除指定的数据;控制数据库的安全。使用SQL我们可以完成和DBMS的几乎所有交互任务。

比如我们要查找年龄小于18 岁的员工信息,那么我们只要执行下面的SQL就可以:

SELECT * from Employees where age<18

比如我们要将所有职位为“名誉总裁”的员工删除,那么就可以执行下面的SQL:

DELETE from Employees where position=’ 名誉总裁’

可以看到我们只是描述了我们要做什么,至于怎么去做则由DBMS 来决定。可以想想如果要是自己编程去实现类似的功能,则需要编写非常复杂的算法才能完成,而且性能也不一定会非常好。

我们可以通过三种方式执行SQL:

1,在工具中执行。各个DBMS几乎都提供了工具用于执行SQL语句,比如Microsoft SQL,Server 的Management Studio、DB2 的命令中心、Oracle的SqlPlus 或者MySQL的Query Browser。在这些工具中我们只要输入要执行的SQL然后点击【执行】按钮就可以得到执行结果。

2,以编译的方式嵌入到语言中。在这种方式中我们可以把SQL 直接写到代码中,在编译的时候由编译器来决定和数据库的交互方式。比如PowerBuild、C等就采用这种方式。

3,以字符串的形式嵌入到语言中。在这种方式中SQL 语句只是以字符串的形式写到代码中,然后由代码将其提交到DBMS,并且分析返回的结果。目前这是大部分支持数据

库操作的语言采用的方式,比如C#、Java、Python、Delphi 和VB等。

由于嵌入到语言中的执行方式是严重依赖宿主语言的,而本书不假定用户使用任何编程语言,为了能够使得使用任何语言的读者都能学习本书中的知识点,本书将主要以在工具中执行的方式来执行SQL语句,读者可以根据自己使用的编程语言来灵活运用这些知识点。

IBM 是SQL 语言的发明者,但是其他的数据库厂商都在IBM 的SQL 基础上提出了自己的扩展语法,因此形成了不同的SQL 语法,对于开发人员来说,使用这些有差异的语法是非常头疼的时候。因此在1986年美国国家标准化协会(ANSI)为SQL 制定了标准,并且在1987年国际标准化组织(ISO)也为SQL 指定了标准,迄今为止已经推出SQL-86、SQL-89、SQL-92、SQL-99、SQL-2003等版本的标准。

虽然已经有了国际标准,但是由于种种原因,各个数据库产品的SQL 语法仍然有着很大差异,在数据库A上能成功执行的SQL放到数据库B上就会执行失败。为了方便使用不同数据库产品的读者都能成功运行本书中的例子,我们会介绍各种数据库SQL 的差异性,并且给出解决方案,而且本书将会安排专门章节讲解跨数据库程序开发的技术。

转载于:https://www.cnblogs.com/yuyu666/p/9819963.html

数据库的语言——SQL相关推荐

  1. 将信息系学生的计算机文化学,计算机等级考试(国家)-关系数据库操作语言sql(四)...

    计算机等级考试(国家)-关系数据库操作语言sql(四) (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 10.90 积分 关系数据关系数据库库操作操作 ...

  2. sql 两个表列包含_Oracle数据库扩展语言PL/SQL之运算符

    [本文详细介绍了Oracle数据库扩展语言PL/SQL的运算符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 运算符是一个符号,告诉编译器执行特定的数学或逻辑操作. PL/SQL 语言有丰富的内置 ...

  3. 数据库实验4 SQL语言-SELECT查询操作

    数据库实验4 SQL语言-SELECT查询操作 1.首先按照第三章的jxgl数据库的模板创建jxgl数据库并插入数据: 创建数据库jxgl: create database jxgl; 创建相应的表: ...

  4. 【数据库原理与SQL Server应用】Part03——T-SQL语言

    [数据库原理与应用]Part03--T-SQL语言 一.SQL语言基本概念 1.1 T-SQL语言简介 T-SQL语言的特点: 核心SQL语言的4个部分: 1.2 T-SQL语言的语法约定 1.3 标 ...

  5. oracle - - 注释符,Oracle数据库扩展语言PL/SQL之注释、分隔符和标识符

    点击蓝字关注我吧 [本文详细介绍了Oracle数据库扩展语言PL/SQL的注释.分隔符和标识符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 注释 注释不会被数据库编译,只是给开发人提供一 ...

  6. 使用数据库DDL语言创建数据库和基本表?(SQL Server 2014)

    摘要:微信搜索[三桥君] 检索:<数据库系统原理>课程实验报告--实验一 建立数据库和基本表结构 说明:本实验是在SQL Server 2014版本数据库下操作完成的. 本实验通过举例创建 ...

  7. Oracle笔记之PS/SQL数据库程序设计语言 第一篇

    PS/SQL 前言 : PL/SQL基本结构 变量常量的用法 PS/SQL条件结构 PS/SQL循环结构 理解游标的使用 1. 程序结构及其变量 什么是PS/SQL? PS/SQL是一种高级数据库程序 ...

  8. 02 数据库语言SQL

    02 数据库语言SQL SQL语言概述 SQL语言是集DDL.DML和DCL于一体的数据库语言,SQL语言主要由以下9个单纯引导的操作语句来构成,但是每一种语句都能表达复杂的操作请求. DDL语句引导 ...

  9. 关系型数据库管理系统和SQL介绍

    1. 关系型数据库管理系统的介绍 数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果大家想 ...

最新文章

  1. 【ThinkPHP系列篇】ThinkPHP框架的介绍和搭建(一)
  2. 对 COM 组件的调用返回了错误 HRESULT E_FAIL
  3. Hi3516A开发--mpp业务分析
  4. 预见2019:《2019年中国视频监控产业全景图谱》(附产业布局、政策环境、市场规模、发展趋势)
  5. satd残差_RDO、SAD、SATD、λ相关概念【转】
  6. 《Effective Modern C++》翻译--条款4:了解怎样查看推导出的类型
  7. 什么都没学到,记录一个鼠标监听事件吧
  8. Osg/OsgEarth—— 无法打开文件osgGA/MatrixManipulator错误
  9. JSON解析中获取不存在的key
  10. (10)FPGA面试题多位信号同步问题
  11. ajax——优化0126(增删改查:添加查看详情,返回结果类型为JSON型,在窗口显示)...
  12. Q73:蒙特•卡罗积分(Monte Carlo Integration)
  13. js中 clientHeight、offsetHeight、scrollHeight的区别
  14. 2021年危险化学品经营单位安全管理人员考试内容及危险化学品经营单位安全管理人员考试报名
  15. 基于树莓派的DLNA和Airplay无线音频传输
  16. vue设置proxy代理,如何去查看代理地址
  17. 图像生成质量fid、inception score、KID计算
  18. 【字符串】字符串的boder和其性质、应用
  19. UEFI.源码分析.DXE的异步事件服务.第一部分.事件驱动
  20. 2014图灵奖--迈克尔·斯通布雷克简介

热门文章

  1. MySQL Group Replication-MGR集群简介
  2. 一次诡异的数据库死锁问题排查过程 1
  3. 什么是跨域?什么是CSRF?
  4. [转]Using Angular in Visual Studio Code
  5. 树(1)------实现和遍历
  6. 母校/母语/母公司怎么说?
  7. linux非root用户启动桌面
  8. 对象水平对齐,并且按照竖直方向排列
  9. 看下你是否都做了吗?系统140种实用设置2
  10. android 使用SharedPreferences保存对象