zoukankan      html  css  js  c++  java
  • SQL语言的基本介绍

    1、SQL语言的基本概念

    SQL指结构化查询语言,全称是 Structured Query Language。使用 SQL 可以访问和处理关系型数据库,它是用于访问和处理数据库的标准的计算机语言。

    SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。

    虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。并且,大部分数据库都在标准的SQL上做了扩展。也就是说,如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL

    现实情况是,如果我们只使用标准SQL的核心功能,那么所有数据库通常都可以执行。不常用的SQL功能,不同的数据库支持的程度都不一样。而各个数据库支持的各自扩展的功能,通常我们把它们称之为“方言”。

    SQL 的特点有:

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

    1.1、NoSQL的简单介绍

    除了关系型数据库外,你可能还听说过NoSQL数据库,也就是非SQL的数据库,包括MongoDB、Cassandra、Dynamo等等,它们都不是关系数据库。有很多人鼓吹现代Web程序已经无需关系数据库了,只需要使用NoSQL就可以。但事实上,SQL数据库从始至终从未被取代过。今天,SQL数据库仍然承担了各种应用程序的核心数据存储,而NoSQL数据库作为SQL数据库的补充,两者不再是二选一的问题,而是主从关系。所以,无论使用哪种编程语言,无论是Web开发、游戏开发还是手机开发,掌握SQL,是所有软件开发人员所必须的。

    2、SQL的语法特点

    SQL语法的语法特点有:

    • SQL 对关键字的大小写不敏感,比如SELECT 与 select 是相同的,一个关键字混合大小写也是可以的,比如 SeLect,关键字建议大写。
    • 数据库名,表名,表字段一般来说都是区分大小写的,所以在使用SQL命令操作数据库表和字段时需要输入正确的名称。
    • SQL语句可以以单行或者多行书写,以分行结束(某些数据库系统要求在每条 SQL 语句的末端使用分号,比如MySQL)。分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。
    • SQL的注释:
    单行注释: -- 注释内容、# 注释内容  (在MySQL中,-- 后面一定要加一个空格,#后面可加可不加空格。单行注释建议使用 #)
    SELECT * FROM Websites;  -- 这里是注释
    SELECT * FROM Websites;  # 这里是注释
    
    多行注释: 
    /* 
    注释内容 
    注释内容
    */

    3、SQL语句的分类(DDL、DML、DQL、DCL)

    SQL语言定义了以下四种操作数据库的能力,可分为以下四类:

    DDL(Data Definition Language,操作数据库和表结构):DDL是用来操作数据库和表的,也就是创建数据库和表、删除数据库和表、修改表结构这些操作。通常,DDL由数据库管理员执行。

    DQL(Data Query Language,查询数据):DQL就是用来查询表中的数据的,为用户提供查询数据的能力,这也是通常最频繁的数据库日常操作。

    DML(Data Manipulation Language,修改数据):DML就是用来增删改表中的数据的,为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。

    DCL(Data Control Language,授权权限):DCL是用来授权的,用来定义数据库的访问权限和安全级别,以及创建用户等。关键字:GRANT、REVOKE等。

  • 相关阅读:
    第三章 Java程序优化(待续)
    第二章 设计优化(待续)
    第一章 Java性能调优概述
    第十章 Executor框架
    第九章 Java中线程池
    第八章 Java中的并发工具类
    第七章 Java中的13个原子操作类
    Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925
    USACO Training刷题记录 By cellur925
    Trie树的小应用——Chemist
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/13358096.html
Copyright © 2011-2022 走看看