zoukankan      html  css  js  c++  java
  • 数据库 SQL语法二

    聚合函数
    -SUM([DISTINCT] FIELDNAME)    求指定列之和,[DISTINCT]选项表示剔除重复记录
    例如:SELECT SUM(age) FROM TABLE1;
          SELECT SUM(DISTINCT age) FROM table1;
    -MAX([DISTINCT] FIELDNAME)    求指定列最大值
    例如:SELECT MAX(age) FROM TABLE1;
          SELECT * FROM table1 WHERE age = (SELECT MAX(age) FROM table1);
    -MIN([DISTINCT] FIELDNAME)    求指定列最小值
    -COUNT([DISTINCT] FIELDNAME)    求指定列记录总数
    -AVG([DISTINCT] FIELDNAME)    求指定列平均值
    GROUP BY 子句
    --将查询结果根据指定字段分组(聚合函数往往是与group by子句配合使用的,一般用于计算每个组中聚合函数的值):
    --GROUP BY fieldname [DESC]
    例如:SELECT COUNT(*) FROM table1 GROUP BY class;以class分组,以组来计算聚合函数count,得出每个班的个数
    ORDER BY子句
    --将查询结果根据指定字段排序
    --ORDER BY fieldname [DESC]
    例如:SELECT * FROM table1 ORDER BY age DESC;(降序排列)
    SELECT * FROM table1 ORDER BY age,class DESC;先按age升序排列,再按class降序排列,DESC只针对最后一个字段。
    SELECT语句,查询多个表的WHERE子句例子
    SELECT * FROM table1,table2 WHERE table1.AGE=table2.AGE;
    SELECT * FROM table1,table2 WHERE (table1.NAME=table2.NAME) AND table1.AGE=20;
    SELECT name FROM table1 WHERE age=(SELECT MAX(table1.age) FROM table1,table3 WHERE table1.class=table3.class AND table3.teacher='巴依老爷');
    CREATE INDEX 语句用于在表中创建索引。
    --在不读取整个表的情况下,索引使数据库应用程序可以更快的查找数据
    索引
    --你可以在表中创建索引,以便更加快速高效的查询数据
    --用户无法看到索引,他们只能被用来加速搜索/查询
    注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新,因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
    CRETAE INDEX语法
    --在表上创建一个简单的索引,允许使用重复的值;
    CREATE INDEX index_name ON table_name (column_name)--注释:"column_name"规定需要索引的列。
    CREATE UNIQUE INDEX 语法
    --在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值(即不能有重复数据)。
    CREATE UNIQUE INDEX index_name ON table_name (column_name)
    在select语句中where查询用到哪个字段,这个字段必须建立索引
    CREATE INDEX table1_age ON table1 (age);    --为列age创建一个索引
    索引的查询效率高于没有索引的查询,唯一索引的查询效率高于普通索引的查询效率
    多表查询的原则:多表之间一定有一个字段是关联的,表与表之间的关系是通过关联的字段建立起来的。
    [表中的列被称为字段(field),表中的行被称为记录(record)]
    修改数据语句
    UPDATE TABLENAME SET CAL1=VAL1,CAL2=VAL2,...WHERE CONDITIONAL
    SET子句指定要修改的字段和所赋的值,WHERE子句指定要修改的行,如果没有WHERE子句,代表修改所有行。
    例子:UPDATE table1 SET sex='',age=66 WHERE name='夏明7';
    删除数据语句
    DELETE FROM TABLENAME WHERE CONDITIONAL
    WHERE子句指定要删除的行,如果没有WHERE子句,代表删除所有行。
    DELETE FROM table1 WHERE name='夏明8';
  • 相关阅读:
    HDU 2444 The Accomodation of Students (判断是否是二分图,然后求最大匹配)
    HDU 1045 Fire Net (二分匹配)
    Leangoo如何颠覆传统项目管理软件?
    团队协作神器:Leangoo
    Leangoo-让工作更简单
    leangoo 轻量级项目协作和列表管理平台
    团队协作中的“贵族”leangoo
    使用leangoo实现多泳道任务看板
    项目管理工具到底应该为谁服务?
    《精益创业实战》读书笔记
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6040568.html
Copyright © 2011-2022 走看看