zoukankan      html  css  js  c++  java
  • 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 子句

     

  • 相关阅读:
    大数相加(类似杭电oj平台上acm1002)
    DAY2-JAVA
    DAY1--JAVA
    网络编程之解决粘包问题的简单模型
    mybatis resultType resultMap 区别
    Spring学习1:Spring基本特性
    mybatis中useGeneratedKeys和keyProperty的作用
    mybatis 三剑客 generator配置 、mybatis plugin
    常用 Git 命令清单
    mysql btree与hash索引的适用场景和限制
  • 原文地址:https://www.cnblogs.com/tianpin/p/10495109.html
Copyright © 2011-2022 走看看