SQL 基础教程

SQL 是用于访问和处理数据库的标准的计算机语言。

在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等。

SQL 是用于访问和处理数据库的标准的计算机语言。

什么是 SQL?

  • SQL 指结构化查询语言
  • SQL 使我们有能力访问数据库
  • SQL 是一种 ANSI 的标准计算机语言

编者注:ANSI,美国国家标准化组织

SQL 能做什么?

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

SQL 是一种标准 - 但是...

SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。

不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的关键词(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!

在您的网站中使用 SQL

要创建一个显示数据库中数据的网站,您需要:

  • RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)
  • 使用服务器端脚本语言,比如 PHP 或 ASP
  • 使用 SQL 来获取您想要的数据
  • 使用 HTML / CSS

RDBMS

RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。

RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。

RDBMS 中的数据存储在被称为表的数据库对象中。

表是相关的数据项的集合,它由列和行组成。


SQL 发展历史

以下是 SQL 发展历史的关键节点:

1970s: 起源与早期发展

  1. 1970年:埃德加·科德(Edgar F. Codd)发表了《A Relational Model of Data for Large Shared Data Banks》论文,提出了关系数据库的概念,为 SQL 的发展奠定了理论基础。
  2. 1973年-1974年:IBM 的研究人员 Donald D. Chamberlin 和 Raymond F. Boyce 在科德的理论基础上开发了一种名为 SEQUEL(Structured English Query Language)的语言,用于操作和管理 IBM 的 System R 关系数据库。
  3. 1976年:SEQUEL 更名为 SQL(Structured Query Language)。

1980s: 标准化与商业化

  1. 1981年:IBM 推出了商用关系数据库系统 SQL/DS(Database System)和 DB2(Database 2)。
  2. 1986年:美国国家标准协会(ANSI)发布了第一个 SQL 标准 ANSI SQL-86(SQL-87)。
  3. 1987年:国际标准化组织(ISO)也采纳了 ANSI SQL-86 作为国际标准。

1990s: 扩展与改进

  1. 1992年:发布了 SQL-92(SQL2)标准,显著扩展了 SQL 语言的功能,包括对新数据类型、嵌套查询和连接的支持。
  2. 1999年:发布了 SQL:1999(SQL3)标准,引入了对象关系数据库(ORDBMS)特性、递归查询、触发器和用户定义函数。

2000s: 持续演进与新特性

  1. 2003年:发布了 SQL:2003 标准,引入了 XML 相关特性和窗口函数。
  2. 2006年:发布了 SQL:2006 标准,主要增强了对 XML 的支持。
  3. 2008年:发布了 SQL:2008 标准,进一步改进了语法和性能优化。

2010s: 新功能与大数据支持

  1. 2011年:发布了 SQL:2011 标准,增加了对时间数据类型和时间旅行(temporal data)的支持。
  2. 2016年:发布了 SQL:2016 标准,引入了 JSON 数据类型和相关操作函数,适应了 NoSQL 数据库和大数据处理需求。

2020s: 现代化与标准更新

  1. 2023年:最新的 SQL 标准持续改进,增加了对更现代化的数据库需求和特性的支持。

总结

SQL 从一种基于关系模型的查询语言发展成为现代数据库管理的核心语言,其标准在不断演进和扩展。各大数据库管理系统(如 MySQL、PostgreSQL、SQLite、SQL Server、Oracle 等)在遵循 SQL 标准的基础上,加入了自身的扩展和优化,使 SQL 成为数据操作和管理的强大工具。SQL 的发展不仅体现了技术的进步,也反映了数据管理需求的变化和增长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/497044.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux第99步_Linux之点亮LCD

主要学习如何在Linux开发板点亮屏,以及modetest命令的实现。 很多人踩坑,我也是一样。关键是踩坑后还是实现不了,这样的人确实很多,从群里可以知道。也许其他人没有遇到这个问题,我想是他运气好。 1、修改设备树 1)、…

攻破 kioprix level 4 靶机

又又又来了... 法一、 基本步骤 1.确认主机ip,扫描端口确定服务和版本 2.访问网站,扫描目录,查找敏感信息 3.利用敏感信息和SQL注入进入网站 4.ssh服务连接主机 5.shell逃逸并查找敏感信息(与数据库等相关) 6.m…

Qt自定义步骤引导按钮

1. 步骤引导按钮 实际在开发项目过程中,由一些流程比较繁琐,为了给客户更好的交互体验,往往需要使用step1->step2这种引导对话框或者引导按钮来引导用户一步步进行设置;话不多说,先上效果 2. 实现原理 实现起来…

解决nuxt3下载慢下载报错问题

在下载nuxt3时总是下不下来,最后还报错了。即使改成国内镜像源也不行。 解决方法: 直接去github上下载 https://github.com/nuxt/starter/tree/v3 解压后得到如下目录: 手动修改项目名和文件夹名 安装依赖 npm install可能会比较慢或下不…

ShenNiusModularity项目源码学习(6:访问控制)

ShenNius.Admin.API项目中的控制器类的函数如果需要访问控制,主要是调用ShenNius.Infrastructure项目下的AuthorityAttribute特性类实现的。AuthorityAttribute继承自ActionFilterAttribute抽象类,后者用于在调用控制器操作函数前后自定义处理逻辑&#…

【连续学习之SSL算法】2018年论文Selfless sequential learning

1 介绍 年份:2018 期刊: arXiv preprint Aljundi R, Rohrbach M, Tuytelaars T. Selfless sequential learning[J]. arXiv preprint arXiv:1806.05421, 2018. 本文提出了一种名为SLNID(Sparse coding through Local Neural Inhibition and…

《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念

1.2 技术理念 在万物智联时代重要机遇期,HarmonyOS结合移动生态发展的趋势,提出了三大技术理念(如下图3-1所示):一次开发,多端部署;可分可合,自由流转;统一生态&#xf…

基于springboot校园招聘系统源码和论文

可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C、python、数据可视化、大数据、文案 使用旧方法对校园招聘系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在校园招聘系统的管理上面可以解决许多信息管理上面的难题,比…

【小程序】自定义组件的data、methods、properties

目录 自定义组件 - 数据、方法和属性 1. data 数据 2. methods 方法 3. properties 属性 4. data 和 properties 的区别 5. 使用 setData 修改 properties 的值 自定义组件 - 数据、方法和属性 1. data 数据 在小程序组件中,用于组件模板渲染的私有数据&…

Python 敲电子木鱼,见机甲佛祖,修赛博真经

Python 敲电子木鱼,见机甲佛祖,修赛博真经 相关资源文件已经打包成EXE文件,可下载相关资源压缩包后双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例&…

acitvemq AMQP:因为消息映射策略配置导致的MQTT接收JMS消息乱码问题 x-opt-jms-dest x-opt-jms-msg-type

使用ActiveMQ(5.14.5)作消息系统服务的场景下, 当我用Apache Qpid Proton发送消息(使用AMQP协议)发送JMS消息,用Paho MQTT接收消息的时候, 收到的消息前面总是有一串乱码,大概就是这样: 4Sp?AS…

viva-bus 航空机票网站 Akamai3 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…

pyQT + OpenCV相关练习

一、设计思路 1、思路分析与设计 本段代码是一个使用 PyQt6 和 OpenCV 创建的图像处理应用程序。其主要功能是通过一个图形界面让用户对图片进行基本的图像处理操作,如灰度化、翻转、旋转、亮度与对比度调整,以及一些滤镜效果(模糊、锐化、边…

【数据库初阶】Linux中库的基础操作

🎉博主首页: 有趣的中国人 🎉专栏首页: 数据库初阶 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 Linux…

Element Plus 日期时间选择器大于当天时间置灰

效果: 实现思路: 点击官方链接的日期时间选择器的属性查看,发现disabled-date属性 一个用来判断该日期是否被禁用的函数,接受一个 Date 对象作为参数。 应该返回一个 Boolean 值,即用函数返回布尔值。 前言 JavaScrip…

线性直流电流

电阻网络的等效 等效是指被化简的电阻网络与等效电阻具有相同的 u-i 关系 (即端口方程),从而用等效电阻代替电阻网络之后,不 改变其余部分的电压和电流。 串联等效: 并联等效: 星角变换 若这两个三端网络是等效的,从任…

Java与SQL Server数据库连接的实践与要点

本文还有配套的精品资源,点击获取 简介:Java和SQL Server数据库交互是企业级应用开发中的重要环节。本文详细探讨了使用Java通过JDBC连接到SQL Server数据库的过程,包括加载驱动、建立连接、执行SQL语句、处理异常、资源管理、事务处理和连…

【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)

1. 开发需求 在参考图像中定义感兴趣区域(ROI),用于形状匹配和文本识别。通过形状匹配找到图像中的目标对象位置。对齐多幅输入图像,使其与参考图像保持一致。在对齐后的图像上进行OCR识别,提取文本和数字信息。以循环…

从0入门自主空中机器人-2-2【无人机硬件选型-PX4篇】

1. 常用资料以及官方网站 无人机飞控PX4用户使用手册(无人机基本设置、地面站使用教程、软硬件搭建等):https://docs.px4.io/main/en/ PX4固件开源地址:https://github.com/PX4/PX4-Autopilot 飞控硬件、数传模块、GPS、分电板等…

Artec Space Spider助力剑桥研究团队解码古代社会合作【沪敖3D】

挑战:考古学家需要一种安全的方法来呈现新出土的陶瓷容器,对比文物形状。 解决方案:Artec Space Spider, Artec Studio 效果:本项目是REVERSEACTION项目的一部分,旨在研究无国家社会中复杂的古代技术。研究团队在考古地…