zoukankan      html  css  js  c++  java
  • SQL数据库基本语句

    SQL特点--》

    1)综合统一。SQL是集数据定义、数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动。

    2)高度非过程化。SQL语言是高度非过程化语言,当进行数据操作时只需要指出“做什么”,无需指出“怎么做”,存储路径对用户来说是透明的,提高了数据的独立性。

    3)面向集合的操作方式。SQL语言采用面向集合的操作方式,其操作队形、查找结果可以是元组的集合。

    4)两种使用方式。第一种(自含式语言):用户可以在终端键盘输入SQL命令,对数据可进行操作;第二种(嵌入式语言):将SQL语言潜入到高级语言程序中。

    5)语言简洁、易学易用。SQL语言功能极强,完成核心功能只用9个动词,包括如下4类:

    • 数据查询:Select
    • 数据定义:CREATE、DROP、ALTER
    • 数据操作:INSERT、UODATE、DELETE
    • 数据控制:GRANT、REVORK

    SQL数据定义:

    1.创建表

    CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件(NULL|UNIQUE)]

                                    <列名><数据类型>[,列级完整性约束条件]......

                                  [,<表级完整性约束条件>]);

    2.修改和删除变

      1)修改表

          ALTER TABLE<>[ADD<新列名><数据类型>[完整性约束条件]]

                                           [DROP<完整性约束条件>]

                                           [MODIFY<列名><数据类型>];

      2)删除表

        DROP TABLE<表名>

    3.索引建立与删除

      1)建立索引

        CREAT [UNIQUE][CLUSTER]INDEX<索引名>

           ON<表名>(<列名>[<次序(ASC(升序,默认)|DSC(降序))>][,<列名>[<次序>]]...);

      2)删除索引

         DROP INDEX<索引名>

    4.视图创建与删除

      1)创建视图

        CREAT VIEW 视图名 (列表名)

          AS SELECT 查询语句

          [WITH CHECK OPTION]         //表示对UPDATE,INSERT,DELECT操作时保证更新、插入、删除行满足视图定义中的谓词条件

    SQL数据查询语句:

    1.select基本结构

      SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]...

            FROM <表名或视图名>[,<表名或视图名>]

            [WHERE <条件表达式>]

            [GROUP BY <列名1>[HAVING<条件表达式>]]        //分组

            [ORDER BY <列名2>[ASC|DESC]]                      //排序

    2.简单查询

      简单查询只需要实用三个保留字SELECT,FROM,WHERE

    3.连接查询

      查询设计两个以上的表,则称呼为连接查询 

        SELECT <表名1>,<表名2>

    4.子查询与聚集函数

      1)子查询(嵌套查询)

        一个SELECT-FROm-WHERE查询块可以嵌入另一个查询块中。SQL中允许多重嵌套

      2)聚集函数:是一个值的集合为输入返回单个值的函数

        SQL提供了5各预定义集函数平均值AVG、最小值MIN、最大值MAX、求和SUM、计数COUNT

        为此ANY和ALL,必须同时使用比较运算符(用奇函数实现子查询通常比直接使用ALL和ANY查询效率高)

    5.分组查询

      1)GROUP BY 对元组进行分子

      2)HAVING 假如元组在分组前按照某种方式加上限制,是的不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVINg子句即可。

    6.更名运算

      OLD-NAME AS NEW-NAME

    7.字符串操作(大小写敏感)

      % 匹配任意字符串

      _   匹配任意一个字符

    8.视图查询

    SQL数据更新:

    1.插入

      INSERT INTO 基本表名(字段名[,字段名]...)

           VALUES (常量,[,常量];查询语句

      INSERT INTO 基本表名(列表名)

           SELECT 查询语句

    2.删除

      DELECT FROM 基本表名

      [WHERE 条件表达式]

    3.修改

      UPDATA 基本表名

      SET 列名=值基本表达式(,列名=值基本表达式...)

      [WHERE  条件表达式]

    SQL访问控制:

    1.授权语句

      GRANt <权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户名>[,<用户名>]...

      [WITH  GRANT OPTION]

    常见的操作权限
    对象 对象类型 操作权限
    属性列 TABLE SELECT、INSERT,UPDATE,DELECT,ALL PRIVILEGES
    视图 TABLE SELECT、INSERT,UPDATE,DELECT,ALL PRIVILEGES
    基本表 TABLE SELECT、INSERT,UPDATE,DELECT,ALTER,INDEX,ALL PRIVILEGES
    数据库 DATABASe CREATETAB建立表的权限,可由DBA授予普通用户
    • PUBLIC:接受权限的用户可以是单个或多个具体的用户,PUBLIc参数可以将权限赋给全体用户
    • WITH GRANT OPTION:若制定了此举,那么获得权限的用户还可以将权限赋给其他用户。

    2.收回权限语句

      REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>]

        FROM<用户>[,<用户>]...;

    嵌入式SQL:

      PL/I和C语言的引用格式:

        EXEC SQL<SQl语句>

      COBOL语言的引用格式:

        EXEC SQL<SQl语句>END-EXEC

  • 相关阅读:
    5-python基础—获取某个目录下的文件列表(适用于任何系统)
    Automated, Self-Service Provisioning of VMs Using HyperForm (Part 1) (使用HyperForm自动配置虚拟机(第1部分)
    CloudStack Support in Apache libcloud(Apache libcloud中对CloudStack支持)
    Deploying MicroProfile-Based Java Apps to Bluemix(将基于MicroProfile的Java应用程序部署到Bluemix)
    Adding Persistent Storage to Red Hat CDK Kit 3.0 (在Red Hat CDK Kit 3.0添加永久性存储)
    Carve Your Laptop Into VMs Using Vagrant(使用Vagran把您笔记本电脑刻录成虚拟机)
    使用Python生成一张用于登陆验证的字符图片
    Jupyter notebook的安装方法
    Ubuntu16.04使用Anaconda5搭建TensorFlow使用环境 图文详细教程
    不同时区的换算
  • 原文地址:https://www.cnblogs.com/calamus/p/5496426.html
Copyright © 2011-2022 走看看