阿里云服务器ECS    
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新 [咨询更多]
阿里云存储OSS
简单易用、多重冗余、数据备份高可靠、多层次安全防护安全性更强、低成本 [咨询更多]
阿里云数据库RDS
稳定可靠、可弹性伸缩、更拥有容灾、备份、恢复、监控、迁移等方面的全套解决方案 [咨询更多]
阿里云安全产品
DDoS高防IP、web应用防火墙、安骑士、sll证书、态势感知众多阿里云安全产品热销中 [咨询更多]
阿里云折扣优惠    
云服务器ECS、数据库、负载均衡等产品新购、续费、升级联系客服获取更多专属折扣 [咨询更多]
SQL语言
2020-8-21    点击量:

  SQL(Structured Query Language,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。SQL是IBM公司于1975—1979年之间开发出来的,在20世纪80年代,SQL被美国国家标准学会(American National Standards Institute, ANSI)和国际标准化组织(International Organization for Standardiza-tion,ISO)定义为关系型数据库语言的标准,它由4部分组成,具体如下。

具体如下

  (1)数据定义语言(Data Definition Language, DDL)。
  数据库定义语言主要用于定义数据库、表等,其中包括CREATE语句、ALTER语句和DROP语句。CREATE语句用于创建数据库、数据表等,ALTER语句用于修改表的定义等,DROP语句用于删除数据库、删除表等。
  (2)数据操作语言(Data Manipulation Language, DML)。
  数据操作语言主要用于对数据库进行添加、修改和删除操作,其中包括INSERT语句、UPDATE语句和DELETE语句。INSERT语句用于插入数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。
  (3)数据查询语言(Data Query Language, DQL)。
  数据查询语言主要用于查询数据,也就是指SELECT语句,使用SELECT语句可以查询数据库中的一条数据或多条数据。
  (4)数据控制语言(Data Control Language, DCL)。
  数据控制语言主要用于控制用户的访问权限,其中包括GRANT语句、REVOKE语句、COMMIT语句和ROLLBACK语句。GRANT语句用于给用户增加权限,REVOKE语句用于收回用户的权限,COMMIT语句用于提交事务,ROLLBACK语句用于回滚事务。
  数据库中的操作都是通过SQL语句来完成的,而且在应用程序中也经常使用SQL语句,例如在Java语言中嵌入SQL语句,通过执行Java语言来调用SQL语句,就可以完成数据的插入、修改、删除、查询等操作。不仅如此,SQL语句还可以嵌套在其他语言中,如C#语言、PHP语言等。
  结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

SQL语言

  SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制。
  SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。其特点是:
  1、数据描述、操纵、控制等功能一体化。
  2、两种使用方式,统一的语法结构。SQL有两种使用方式。一是联机交互使用,这种方式下的SQL实际上是作为自含型语言使用的。另一种方式是嵌入到某种高级程序设计语言(如C语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。
  3、高度非过程化。SQL是一种第四代语言(4GL),用户只需要提出“干什么”,无须具体指明“怎么干”,像存取路径选择和具体处理操作等均由系统自动完成。
  4、语言简洁,易学易用。尽管SQL的功能很强,但语言十分简洁,核心功能只用了9个动词。SQL的语法接近英语口语,所以,用户很容易学习和使用。
  SQL语句
  数据定义
  在关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。
  定义基本表:
  CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]
  [,<列名2><数据类型>[列级完整性约束条件]]…
  [,<-列名n><数据类型>[列级完整性约束条件]]
  [,表列级完整性约束条件]);
  说明:
  ①<>中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。
  ②CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。 [6]
  ③<表名>是所要定义的基本表的名称,一个表可以由一个或若干个属性(列)组成,但至少有一个属性,不允许一个属性都没有的表,这样不是空表的含义。多个属性定义由圆括号指示其边界,通过逗号把各个属性定义分隔开,各个属性名称互不相同,可以采用任意顺序排列,一般按照实体或联系定义属性的顺序排列,关键字属性组在最前面,这样容易区分,也防止遗漏定义的属性。
  ④每个属性由列名、数据类型、该列的多个完整性约束条件组成。其中列名一般为属性的英文名缩写,在Microsoft Access 2010中也可以采用中文,建议不要这样做,编程开发时不方便。
  ⑤完整性约束条件,分为列级的完整性约束和表级的完整性约束,如果完整性约束条件涉及该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由RDBMS自动检查该操作是否违背这些完整性约束,如果违背则RDBMS拒绝本次操作,这样保持了数据库状态的正确性和完整性,不需要用户提供检查,提高了编程的效率,降低了编程难度。列级的完整性通常为主关键字的定义、是否允许为空。表级的完整性约束条件一般为外码定义。
  数据操纵
  数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵。
  ①数据检索(常称为查询):寻找所需的具体数据。
  ②数据修改:插入、删除和更新数据。
  数据操纵语言一般由 INSERT(插入)、 DELETE(删除)、 UPDATE(更新)、 SELECT(检索,又称查询)等组成。由于 SELECT经常使用,所以一般将它称为查询(检索)语言并单独出现。
  数据管理
  数据管理(又称数据控制)语言是用来管理(或控制)用户访问权限的。由GRANT(授权)、REVOKE(回收)命令组成。而 Visual Foxpro6不支持这种权限管理。
  SQL中的数据查询语句
  数据库中的数据很多时候是为了查询,因此,数据查询是数据库的核心操作。而在SQL中,查询语言只有一条,即 SELECT语句。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠