数据库 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=;
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= WHERE name='夏明7';
删除数据语句
DELETE FROM TABLENAME WHERE CONDITIONAL
WHERE子句指定要删除的行,如果没有WHERE子句,代表删除所有行。
DELETE FROM table1 WHERE name='夏明8';
数据库 SQL语法二的更多相关文章
- 数据库-SQL 语法
数据库-SQL 语法 二十余年如一梦,此身虽在堪惊. 简介:数据库-SQL 语法 一.基础 模式定义了数据如何存储.存储什么样的数据以及数据如何分解等信息,数据库和表都有模式. 主键的值不允许修改,也 ...
- MySQL的操作数据库SQL语法
MySQL的操作数据库SQL语法 顺序:操作数据库 > 操作数据库中的表 > 操作数据库中的表的数据 MySQL不区分大小写字母 1. 操作数据库 1.创建数据库 2.删除数据库 3.使用 ...
- java核心技术第二篇之数据库SQL语法
#查询products表记录SELECT * FROM products WHERE price > 2000;-- 单行注释/* 多行注释*/#创建数据库CREATE DATABASE hei ...
- [数据库] SQL 语法之基础篇
一.什么是 SQL ? SQL 是 Structured Query Language(结构化查询语言)的缩写,是一种专门用来与数据库沟通的语言.与其他语言(如英语或 C.C++.Java 这样的编程 ...
- [数据库] SQL 语法之进阶篇
一.创建计算字段 下面介绍什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们. 1.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式,下面举几个例子. 需要显示公司 ...
- 数据库SQL语法到MySQL实操
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 ...
- 数据库 | SQL语法优化方法及实例详解
使用复合索引 如果经常执行如上查询,那么建立三个单独索引不如建立一个复合索引,因为三个单独索引通常数据库每次执行只能使用其中一个,虽然这样比不使用索引而进行全表扫描提高了很多效率,但使用复合索引因为索 ...
- 数据库 数据库SQL语句二
单行函数 --操作数据对象 --接受参数返回一个结果 --只对一行进行变换 --每行返回一个结果 --可以转换数据类型 --可以嵌套 --参数可以是一列或一个值 字符函数 SQL> select ...
- MongoDB语法与现有关系型数据库SQL语法比较
MongoDB语法 MySql语法 db.test.find({'name':'foobar'}) <==> select ...
随机推荐
- Java 线程通信
线程通信用来保证线程协调运行,一般在做线程同步的时候才需要考虑线程通信的问题. 1.传统的线程通信 通常利用Objeclt类提供的三个方法: wait() 导致当前线程等待,并释放该同步监视器的锁定, ...
- python 判断学期与学年
9,10,11,12,1 第一学期 2,3,4,5,6,7 第二学期 其中8月份放假,暂且放入第一学期.因为大部分学校都选在8月底开学 import datetime def getXNandXQ() ...
- (转) 一步一步学习ASP.NET 5 (一)- 基本概念和环境配置
转发:微软MVP 卢建晖 的文章,希望对大家有帮助. 编者语:时代在变,在csdn开博一年就发了那么的两篇文章,无论是什么原因都觉得有愧了.但是今年重心都会在这里发表一些文章,和大家谈谈.NET, 移 ...
- css3:盒模型以及box-sizing属性
文档中的每个元素被描绘为矩形盒子.渲染引擎的目的就是判定大小,属性——比如它的颜色.背景.边框方面——及这些盒子的位置.在CSS中,这些矩形盒子用标准盒模型来描述.这个模型描述了一个元素所占用的空间. ...
- Sublime更换默认字体的方法
Sublime是一款很不错的编辑器,不过默认安装后的字体却不尽人意,并且Sublime竟然连个完整的设置页面都没有(直接让你编辑配置文件).于是很多人对这字体就忍气吞声了.其实只要添加一行代码就可以完 ...
- Mongodb Manual阅读笔记:CH5 安全性
5 安全性 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读 ...
- java.lang.UnsatisfiedLinkError: Unable to load library 'xxx': Native library (win32-x86-64/ID_Fpr.dll)
使用 JNA 调用 dll 库,因为 dll 库是32 位的,而 jvm 是 64位的,所以发生的错误: java.lang.UnsatisfiedLinkError: Unable to load ...
- kernel启动console_init之前console不可用时发生crash的调试方法
http://code.google.com/p/innosoc/wiki/KernelBootCrashDebug 注: 如在i386_start_kernel中加入:early_printk(&q ...
- java设计模式之抽象工厂模式
上一篇文章(http://www.cnblogs.com/liaoweipeng/p/5768197.html)讲了简单工厂模式,但是简单工厂模式存在一定的问题,如果想要拓展程序,必须对工厂类进行修改 ...
- MIT 6.824 : Spring 2015 lab1 训练笔记
源代码参见我的github: https://github.com/YaoZengzeng/MIT-6.824 Part I: Word count MapReduce操作实际上就是将一个输入文件拆分 ...