对数据库进行查询和修改操作的语言叫做 SQL(Structured Query Language,结构化查询语言)。SQL 语言是目前广泛使用的关系数据库标准语言,是各种数据库交互方式的基础

著名的大型商用数据库 Oracle、DB2、Sybase、SQL Server,开源的数据库 PostgreSQL、MySQL,甚至一些小型的数据库 Access 等都支持 SQL。近些年蓬勃发展的 NoSQL 系统最初是宣称不再需要 SQL 的,后来也不得不修正为 Not Only SQL,来拥抱 SQL

SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。与其他程序设计语言(如 C语言、Java 等)不同的是,SQL 由很少的关键字组成,每个 SQL 语句通过一个或多个关键字构成

SQL 具有如下优点。

  1. 一体化:SQL 集数据定义、数据操作和数据控制于一体,可以完成数据库中的全部工作。
  2. 使用方式灵活:SQL 具有两种使用方式,可以直接以命令方式交互使用;也可以嵌入使用,嵌入C、C++、Fortran、COBOL、Java 等语言中使用。
  3. 非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”,存储路径的选择和操作的执行由数据库管理系统自动完成。
  4. 语言简洁、语法简单:该语言的语句都是由描述性很强的英语单词组成,而且这些单词的数目不多

1)数据定义语言(Data Definition Language,DDL)

用来创建或删除数据库以及表等对象,主要包含以下几种命令:

  • DROP:删除数据库和表等对象
  • CREATE:创建数据库和表等对象
  • ALTER:修改数据库和表等对象的结构

2)数据操作语言(Data Manipulation Language,DML)

用来变更表中的记录,主要包含以下几种命令:

  • SELECT:查询表中的数据
  • INSERT:向表中插入新数据
  • UPDATE:更新表中的数据
  • DELETE:删除表中的数据

)数据查询语言(Data Query Language,DQL)

用来查询表中的记录,主要包含 SELECT 命令,来查询表中的数据。

4)数据控制语言(Data Control Language,DCL)

用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对数据库中的用户设定权限。主要包含以下几种命令:

  • GRANT:赋予用户操作权限
  • REVOKE:取消用户的操作权限
  • COMMIT:确认对数据库中的数据进行的变更
  • ROLLBACK:取消对数据库中的数据进行的变更

下面是一条 SQL 语句的例子,该语句声明创建一个名叫 students 的表:

CREATE TABLE students (student_id INT UNSIGNED,name VARCHAR(30) ,sex CHAR(1),birth DATE,PRIMARY KEY(student_id)
);

该表包含 4 个字段,分别为 student_id、name、sex、birth,其中 student_id 定义为表的主键。

现在只是定义了一张表格,但并没有任何数据,接下来这条 SQL 声明语句,将在 students 表中插入一条数据记录:

INSERT INTO students (student_id, name, sex, birth)
VALUES (41048101, 'C语言', '1', '2013-02-14');

执行完该 SQL 语句之后,students 表中就会增加一行新记录,该记录中字段 student_id 的值为“41048101”,name 字段的值为C语言,sex 字段值为“1”,birth 字段值为“2013-02-14”。

再使用 SELECT 查询语句获取刚才插入的数据,如下:

SELECT name FROM students WHERE student_id=41048101;
+--------------+
| name         |
+--------------+
|C语言|
+--------------+

上面简单列举了常用的数据库操作语句,在这里留下一个印象即可,后面我们会详细介绍这些知识。

注意:SQL 语句不区分大小写,许多 SQL 开发人员习惯对 SQL 本身的关键字进行大写,而对表或者列的名称使用小写,这样可以提高代码的可阅读性和可维护性。本教程也按照这种方式组织 SQL 语句。大多数数据库都支持通用的 SQL 语句,同时不同的数据库具有各自特有的 SQL 语言特性。

SQL是什么?SQL能做什么?相关推荐

  1. oracle spa sta 使用,Oracle的SQL Tuning Advisor(STA) 到底做了什么?

    5.使用STA优化awr中SQL的脚本 robin@SZDB:~/dba_scripts/custom/sql> more tune_awr_sql.sql SET ECHO OFF TERMO ...

  2. SQL做的能改成Oracle吗,从SQL改写到SQL重写,什么样的SQL才是好SQL?(黄浩)

    从SQL改写到SQL重写,什么样的SQL才是好SQL?黄浩 2016-12-14 10:02:26 作者介绍 黄浩,现任职于中国惠普,从业十年,始终专注于SQL.十年一剑,十年磨砺.3年通信行业,写就 ...

  3. oracle pl sql注意问题,Oracle PL/SQL编写PL/SQL代码的注意事项

    (1)几个值得注意的关键字(2)变量常量赋值注意: ---------------------------------------------------------------------[@mor ...

  4. sqlserver sql语句|经典sql语句|实用sql语句

    sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop databa ...

  5. 学习SQL语句之SQL语句大全

    学习SQL语句之SQL语句大全 -------------------------------------------------------------------------------- 作者: ...

  6. SQL Server 与 SQL Express 的异同

    SQL Server Express 2005(以下简称 SQLExpress) 是由微软公司开发的 SQL Server 2005(以下简称 SQL2005)的缩减版,这个版本是免费的,它继承了 S ...

  7. SQL Fundamentals || Oracle SQL语言

    对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...

  8. sql 动态写入数据库字段_批处理写入,动态SQL和参数化SQL,数据库的性能如何?...

    sql 动态写入数据库字段 最有效的数据库优化之一是批处理写入. 批处理写入受大多数现代数据库和JDBC标准的一部分支持,并且受大多数JPA提供程序支持. 普通数据库访问包括在单独的数据库/网络访问中 ...

  9. SQL SERVER 的SQL语句优化方式小结

    SQL SERVER 的SQL语句优化方式小结 详细出处参考:http://www.jb51.net/article/19547.htm 1.SQL SERVER 2005的性能工具中有SQL Ser ...

  10. SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决

    QUESTION:SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决? ANWSER: 一:问题提出: 使用S ...

最新文章

  1. [Swust OJ 247]--皇帝的新衣(组合数+Lucas定理)
  2. 实体词典 情感词典_人工智能技术落地:情感分析概述
  3. Java虚拟机性能管理神器 - VisualVM(2) 入门
  4. 学习笔记:AC自动机
  5. 云服务器文件传输问题
  6. 小程序商店刷榜_APP推广人必看|全球刷榜价格表单
  7. [Mac入门]如何在Mac下显示Finder中的所有文件
  8. win7升级到win10不能上网解决方法
  9. 项目出现 The superclass “javax.servlet.http.HttpServlet“ was not found on the Java Build Path 解决方法
  10. 测试先知和启发式方法
  11. 《吴军-信息论40讲》摘录
  12. 2000-2018年各省研发投入面板数据
  13. 虚拟机迁移Sphere vMotion
  14. 【学习笔记】Arduino uno r3 控制led灯闪烁
  15. 计算机网络:家庭无线网组建方案
  16. tomcat发布asp网站的解决办法(转)
  17. CATransform3D 矩阵 m11–m44每个的含义
  18. 林语堂、陆谷孙、薄冰、许国璋、何其莘等十位国宝级语言大师谈英语学习方法
  19. Python数据分析入门笔记6——数据清理案例练习
  20. 由于找不到d3dx9_42.dll,无法继续执行代码。

热门文章

  1. WebInspect评估版试用第2天和第3天
  2. Spark:运行原理 图解
  3. nonebot2——表情包生成插件升级版
  4. 小程序swiper高度自适应
  5. LabVIEW TDMS文件的批量读取与转存Excel
  6. excel中如何依据日期相等实现数据匹配
  7. 示例-AT示例-阿里云
  8. 2021年广东省安全员B证第三批(项目负责人)找解析及广东省安全员B证第三批(项目负责人)模拟考试
  9. 在Linux系统中安装eclipse
  10. 求直角梯形最长对角线(c++基础)