• SQL基础


    SQL=数据操作语言 (DML) 和 数据定义语言 (DDL)。应该还有一个DSDL(数据存储有关的语言)吧?

    所有的词语、符号、标点都要在英文输入法下输入 ,所有语句结束后不要忘了 ’;‘ 像C一样

    操作符:=,<>(不等于,在某些版本中可以写作!=),> , < , >= , <= , BETWEEN ,LIKE

    查询(单表和多表)

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

    FROM<表明|视图名>[,<>,<>,<>……]

    [WHERE<条件表达式>]

    [GROUP BY<列名>[ HAVING<条件表达式>]]

    [ORDER BY<列名>[ASC|DESC|列名|列名 desc或asc(列名为英文,然后按序排)]]; 

    根据WHERE的条件表达式从FROM指定的表格或者视图下进行查询,找到符合条件的元组。再按照SELECT中的目标表达式的要求。   

    选出所有元组中的属性值,形成结果表。

    WHERE的表达式不是必须的,没有的话可以省略。条件表达式应该被 ’ ‘或者“” 包含,数字的话就不需要了复杂的表达式用()包含。

    SELECT子句中如果有多个目标表达式要用逗号’,‘隔开。这里的目标表达式不仅可以是属性名,也可以是表达式。(ALL是全部输出,DISTINCT是去除重复后的输出)

    如果有GROUP BY子句。那么要按照列名的值进行分组。属性值相等的元组分到一个组里。如果有HAVING子句,那么只有符合HAVING中指定条件的组才可以输出。

    如果有ORDER BY子句,还要按照列名的值进行升或降的排序。(ASC是升序,DESC是降序,一般只用DESC,因为本来就是升序排序的)

    表查询(显示的顺序同SELECT子句中的顺序相同)

         查询指定的列                                 

         SELECT <列名>(,<>,<>)如果有多个列名                                       例:      SELECT Sno,Sname  

         FROM  <表名>;                                                                                         FROM  S;

         ……                   

         从S表(学生表)取出所有元组的Sno(学号),Sname(姓名)属性,形成新的元组输出。

      查询表中的所有信息(即显示整张表格的信息)

      SELECT *(等价于在这里指定表中的所有属性名)            例:  SELECT *

      FROM <表名>;                                FROM S;

      显示S表中的所有属性列。

       SELECT子句后的表达式不仅可以是列名,还可以是包含列名的表达式,如2015-Sage,输出出生年份。

      可以用LOWER指定某一个属性列的输出为小写。LOWER(列名)

      AND和OR   作用于WHERE子句中,将两个或以上的表达式连接起来。含义就是数学中 ∧,∨或者C中  && ,||的意思。

      插入元组:INSERT                                            例:INSERT   (假设S表中的属性列是  名字,学号,年龄,性别,专业)

           INTO 表名(可以指定要插入的列)          INTO  S

           VALUES( 属性值, , , , , ) ;               VALUES(’张三‘,0001,18,’男‘,’计算机‘);

      属性值的输入顺序和表中的属性列的顺序要相同。要注意属性列的数据类型,数字的话不需要’ ‘,字符型一定要’ ‘。

      往指定列中插入数据的话,允许不讲整个元组填满,即只是插入一个元组中的几个属性值。

      修改                              例:                  

      UPDATE  表名                            UPDATE  S

      SET  列名=新的属性值                          SET   名字='李四'

      WHERE 列名=*****;                        WHERE  学号=0001;

      修改符合WHERE子句的元组中指定的属性,更改为新的属性值。同样可以一次修改多个属性值。

      删除      删除整个元组                        例:

      DELETE                               DELETE

      FROM 表名                               FROM  S

      WHERE 列名=****;                         WHERE  名字='李四';

      属性列中名字为'李四'整个元组都被删除了。

      删除所有的元组,但是表格依然保留着。    即  DELETE   FROM 表名;     不需要WHERE条件。

     

      

      

      

      

          

      

      

     

  • 相关阅读:
    冲刺进度条03
    冲刺进度条02
    冲刺进度条01
    第二阶段团队冲刺(九)
    第二阶段团队冲刺(八)
    第二阶段团队冲刺(七)
    用户体验评价
    第二阶段团队冲刺(六)
    程序员修炼之道:从小工到专家阅读笔记01
    2019春季学期进度报告(十三)
  • 原文地址:https://www.cnblogs.com/CNZLSofXHB/p/4967550.html
Copyright © 2020-2023  润新知