【数据库原理】(9)SQL简介

一.SQL 的发展历史

  • 起源:SQL 起源于 1970 年代,由 IBM 的研究员 Edgar F. Codd 提出的关系模型概念演化而来。
  • 初期:Boyce 和 Chamberlin 在 IBM 开发了 SQUARE 语言的原型,后发展成为 SQL。这是为了更好地利用和管理关系数据库。
  • System R:1970年代末,IBM 的 San Jose Research Laboratory 开发了 System R,这是第一个实现 SQL 作为查询语言的关系数据库管理系统原型。

二.SQL的特点

  1. 综合统一

    • SQL 能够处理数据库的定义、操作和控制,这意味着可以使用同一种语言来创建表结构、插入、查询、更新数据,以及设置访问权限和安全性控制。
    • 这种一体化设计提高了效率,减少了学习不同语言的需要。
  2. 高度非过程化

    • SQL 用户不需要指定如何达到一个数据操作的目的,只需要声明他们想要的结果。
    • 这种声明式的特点使得 SQL 用户无需担心底层数据的存储方式和访问路径,从而简化了数据库操作。
  3. 面向集合的操作方式

    • SQL 操作是基于集合的,这意味着可以一次处理一组数据(例如,一次检索、更新或删除多个记录)。
    • 这与一些早期的、面向记录的数据库语言形成对比,后者每次只能操作单个记录。
  4. 以同一种语法结构提供两种操作方式

    • SQL 既可以作为独立的查询语言使用,也可以嵌入到其他编程语言中,如 C、Java 或 Python。
    • 这种灵活性使得 SQL 既可以满足简单的数据库查询需求,也能够在复杂的应用程序中发挥作用。
  5. 语言简洁,易学易用

    • SQL 语法结构简单明了,接近自然语言,这使得学习和使用 SQL 相对容易。
    • 尽管功能强大,但 SQL 的核心部分只包含一些基本的关键词和语法规则。

在这里插入图片描述

三.SQL语言简介

  1. 常量

    • 包括字符串、数字等。它们是查询中直接使用的值,如 'Hello World'100 等。
  2. 数据类型

    • 定义表中列的数据类型,例如整型(INT)、字符型(CHARVARCHAR)、数值型(NUMERICFLOAT)等。不同数据库可能支持不同的数据类型。
数据类型说明符号注释
整型INT定长16位
长整型LONG定长32位
十进制数NUMBERIC(m,n)m为十进制位数,n为小数点位数
浮点数FLOAT定长64位(双精度)
字符型(定长)CHAR(n)按固定长度n存储字符串,自动补充空格
变长字符型VARCHAR(n)按实际长度n存储字符串
日期型DATE格式为:yyyymmdd(年月日)
时间型TIME格式为:hhmmss(时分秒)
  1. 运算符

    • 用于构建表达式,包括算术运算符(如 +, -, *, /)、比较运算符(如 =, <>, >)、逻辑运算符(如 AND, OR, NOT),字符串运算符(||),集合运算符(UNION、INTERSECT、MINUS)等。
  2. 函数

    • 提供数据处理功能,如字符串函数、数学函数、聚合函数(如 SUM(), COUNT() 等)。
    • 一般函数引用形式:函数名([DISTINCT/ALL<表达式>])
  3. 谓词

    • 用于构建复杂的条件表达式,如 BETWEEN, IN, LIKE 等,以支持更灵活的数据查询。
  4. 表达式

    • 由值、函数和运算符组成的结构,可以计算得出一个结果。
  5. 条件

    • 用于在 WHEREHAVING 等子句中定义数据过滤的逻辑条件。
  6. 命令

    • SQL 的核心部分,包括数据定义命令(如 CREATE, ALTER, DROP)、数据操纵命令(如 SELECT, INSERT, UPDATE, DELETE)和数据控制命令(如 GRANT, REVOKE)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS 解决push证书不受信任

重新下载&#xff1a;https://www.apple.com/certificateauthority/

手把手带你门SpringCloud

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是平顶山大师&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《手把手带你门SpringCloud开发之入门级及nacos…

在Flyway执行数据库脚本之前创建数据库

Flyway让我们不用手动执行sql脚本&#xff0c;但是众所周知&#xff0c;前提是要先创建项目的数据库。为了能够让运维的同事再偷一次懒&#xff0c;通过代码来自动完成数据库的创建&#xff0c;于是有了这篇文章的分享~ 要实现这个效果&#xff0c;只需要两步&#xff1a; 第一…

【Python机器学习】线性模型——lasso

除了岭回归&#xff0c;还有一种正则化的线性回归是lasso&#xff0c;与岭回归相同&#xff0c;使用lasso也是约束系数使其接近于0&#xff0c;但方法不同&#xff0c;叫做L1正则化。L1正则化的结果是使用lasso时某些系数刚好为0。说明某些特征被模型完全忽略。 同样以波士顿房…

企业防泄密软件超全图文解析!快来看!

防泄密软件作为保障企业信息安全的重要工具&#xff0c;其重要性不言而喻。本文将为您解析企业防泄密软件的方方面面&#xff0c;帮助您了解如何选择适合自己企业的防泄密软件。 一、泄密的渠道有哪些 1、外部入侵&#xff1a;黑客攻击、病毒感染等外部因素可能导致企业的数据…

Vue脚手架及组件开发

组件插槽: 路由数据传递&#xff1a;

ubuntu20.04安装cuda11.7和显卡驱动

1、禁用nouveau sudo vi /etc/modprobe.d/nouveau.conf 在最下面加入blacklist nouveau sudo update-initramfs -u sudo reboot 输入命令&#xff0c;如果没有任何输出&#xff0c;证明禁用成功 lsmod | grep nouveau 2、安装cuda11.7 CUDA Toolkit Archive | NVIDIA Deve…

ubuntu 22 virt-manger(kvm)安装winxp; ubuntu22体验 firebird3.0

安装 、启动 virt-manager sudo apt install virt-manager sudo systemctl start libvirtdsudo virt-manager安装windowsXP 安装过程截图如下 要点1 启用 “包括寿终正寝的操作系统” win_xp.iso 安装过程 &#xff1a; 从winXp.iso启动, 执行完自己重启从硬盘重启&#xff0c…

高压放大器输出接法及其注意事项

高压放大器应用场景非常广泛&#xff0c;非常适用于半导体高压驱动、TFT产业高压驱动、各种高压工程等应用&#xff1b;也很适用当作音频信号产生器或函数波形产生器的波形放大使用。使用场景广泛&#xff0c;放大器的输出接法也多种&#xff0c;对于不同的放大器也有对应的输出…

【漏洞复现】ActiveMQ反序列化漏洞(CVE-2015-5254)

Nx01 产品简介 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件。ActiveMQ是消息队列服务&#xff0c;是面向消息中间件&#xff08;MOM&#xff09;的最终实现&#xff0c;它为企业消息传递提供高可用、出色性能、可扩展、稳定和安全保障。 Nx02 漏洞描述 Re…

怎么做表单二维码来获取用户数据?扫码填表的制作方法

​怎么用二维码来收集其他人的信息&#xff0c;比如用户反馈、信息采集、问卷调查等等&#xff0c;都是现在表单二维码的常见应用方式。那么如果我们想制作一个表单二维码用来采集其他人员的反馈信息&#xff0c;用二维码生成器来制作的步骤有哪些呢&#xff1f;下面来教大家在…

软件测试|SQL中的null值,该如何理解?

深入理解SQL中的Null值&#xff1a;处理缺失数据的重要概念 简介 Null值在SQL中是用于表示缺失或未知数据的特殊值。本文将深入探讨Null值的概念、处理方法和注意事项&#xff0c;以帮助读者更好地理解和处理SQL中的缺失数据。 在SQL数据库中&#xff0c;Null值是一种特殊的…

linux虚拟机网络不通,如何配置ip解决网络问题

续接前文 Hyper-V创建linux虚拟机&#xff0c;共享wifi网络-CSDN博客 创建虚拟机后&#xff0c;网络都正常&#xff0c;可以使用&#xff0c;今天的一次异常关机后&#xff08;电源不小心拔掉了&#xff09;&#xff0c;再次打开这个虚拟机&#xff0c;网络都失效了。。。。 …

轻松获取CHATGPT API:免费、无验证、带实例

免费获取和使用ChatGPT API的方法 快速开始&#xff1a;视频教程 章节一&#xff1a;GPT-API-Free开源项目介绍 GPT-API-Free 是一个开源项目&#xff0c;它提供了一个中转API KEY&#xff0c;使用户能够调用多个GPT模型&#xff0c;包括gpt-3.5-turbo、embedding和gpt-4。这…

修改对象的行为和值(代理)

文章目录 前言一、复制一个对象二、代理对象重点来了 总结 前言 最近遇到一个需求,需要在某个位置,统一处理对象的一些属性值&#xff1a; 方案有两种: 直接复制一份,将属性覆盖后,返回一个新对象搞一个代理类,代理这个对象,修改对象的原有行为和值,从而达到修改属性值的目的…

告别2023,无论何年我都是最幸福的程序员。

序 2023年注定是不平凡的一年&#xff0c;有太多的意外&#xff0c;无论是工作还是家庭。唯一不变的是坚持&#xff0c;岁月的静好&#xff0c;离不开同事们的负重前行&#xff0c;作为一个程序员来说&#xff0c;我是幸运的&#xff0c;也是最幸福的。生活的漫漫长路&#xf…

Node.js基础知识点(二)

一、Node环境安装&#xff08;Windows&#xff09; 1.下载对应的node.js版本:https://nodejs.org/en/download/ 2.下载完成后&#xff0c;双击安装包&#xff0c;开始安装node.js 3.勾选复选框&#xff0c;点击【Next】按钮 4.修改好目录后&#xff0c;点击【Next】按钮 5.此处…

调整几行代码,接口吞吐提升 10 倍,性能调优妙啊!

景 分析过程 总结 背景 公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。 当时一想,500/s吞吐量还不简单。Tomcat按照100个线程…

扫码看文档的方法有哪些?文档生成二维码在线教程

现在经常会看到很多企业的宣传栏都会通过二维码来做通知或者信息的发布与展示&#xff0c;二维码中的常见内容大多是文件内容&#xff0c;比如常见的有word、excel、pdf等类型。那么这种用来展示文件内容的二维码制作的方法是什么样的呢&#xff1f;其实制作文件二维码的方法是…

TS学习笔记一:认识TS及环境准备

本次学习笔记是具有一定js基础的情况下从头开始学习ts相关内容。 视频信息 TS学习笔记一&#xff1a;认识TS及环境准备 B站视频 TS学习笔记一&#xff1a;认识TS及环境准备 西瓜视频 https://www.ixigua.com/7320049274006274560 1.1.目的 通过本次学习&#xff0c;学习并…