SQL基础语法与规则

1.SQL语句使用分号(;)结尾

2.SQL语句不区分大小写

  1. 不区分关键字的大小写,如select 或者 SELECT 都一样。
  2. 但是插入到表中的数据是区分大小。

3.常数的书写方式是固定的

  1. 字符串、日期常数需要使用单引号(')括起来。
  2. 数字常数无需单引号(直接书写数字即可)。

4.单词需要用半角空格或者换行来分割

        CREATE TABLE Product
  • 数据库的创建   

            create database <数据库名称>;

  • 表的创建                             create table  <表名>;
  • 表的删除                              drop table <表名>;
  • 保留表,删除全部数据   delete from  <表名>;
  • 列的删除                              alter table<表名> drop <列名>;
  • 表定义的更新          alter table <表名> add <列名>;         如: alter table 表 add 列 varchar(100);
  • 数据的插入               insert into <表名> {列1,列2,列3} values {值1,值2,值};
  • 删除重复行               select distinct <列名> from  <表名>    ;
  • 列的查询                   select <列名>,...from <表名>;
  • 数据的更新               update  <表名> set <列名>= 新值 where   <列名>= 旧值    如:update  class set fenshu=90 where name='王五'
  • null记录的选取      提供了专门用来判断是否为 NULL 的 IS NULL 运算符。 
  • Group  by 子句      对表分组,GROUP BY就像是切分表的一把刀,在 GROUPBY 子句中指定的列称为聚合键或者分组列。
  • 计算全部数据的行数   count(*)会得到包含null数据的行数    
    SELECT COUNT(*)     FROM <表>;
  1. GROUP BY子句中不能使用SELECT子句中列的别名;         
  2. GROUP BY 子句的书写位置也有严格要求,一定要写在FROM 语句之后(如果有 WHERE 子句的话需要写在 WHERE 子句之后); 
  3. 在 GROUP BY 子句中不能使用SELECT 子句中定义的别名,但是在 ORDER BY 子句中却是允许使用别名的;       
  4. 在SELECT子句中书写聚合键之外的列名会发生错误;
  • where 子句           WHERE 子句来指定查询数据的条件。在 WHERE子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件。
  • Having 子句       HAVING子句用来指定分组的条件,例如,“数据行数为 2 行”或者“平均值为 500”等。
  1.  HAVING子句要写在GROUP BY子句之后; SELECT → FROM → WHERE → GROUP BY → HAVINGHAVING 子句中
  2. 能够使用的 3 种要素:常数、聚合函数、group by子句中指定的列名(即聚合键)

            

  • Order by 子句          对查询结果进行排序;
  1. 在ORDER BY子句中列名的后面使用关键字ASC进行升序排序,使用DESC进行降序排序;
  2. ORDER BY子句中可以使用SELECT子句中定义的列的别名;
  3. ORDER BY子句中可以使用SELECT子句中未出现的列或者聚合函数。

       书写顺序:      

1. SELECT 子句 → 2. FROM 子句 → 3. WHERE 子句 → 4. GROUP BY 子句 →
5. HAVING 子句 → 6. ORDER BY 子句

 

原文地址:https://www.cnblogs.com/tianpin/p/10495109.html