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条件。

 

  

  

  

  

      

  

  

 

原文地址:https://www.cnblogs.com/CNZLSofXHB/p/4967550.html