数据库 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 ...
随机推荐
- Scrum Master 面试题 – 你必须知道的22个Scrum基础知识
以下的22个问题基本上涵盖了Scrum所涉及的内容,如果你能够正确回答出所有问题,那么你已经具备了作为一名Scrum Master的基本素质:当然,作为一名合格的Scrum Master,更重要的是你 ...
- HashSet vs TreeSet vs LinkedHashSet
使用Set集合的主要原因是因为Set集合里面没有重复的元素.Set集合有三个常见的实现类:HashSet,TreeSet,LinkedHashSet.什么时候,选择哪一个使用非常重要.简单的说,如果你 ...
- java.lang.NoClassDefFoundError:TagSupport
这个错误应该就是没有成功加载tomcat自带的jar包jsp-api.jar. 在网上看到很多网友说要把tomcat/lib下的jsp-api.jar拷贝到项目/WEB_INF/lib下并导入,本人试 ...
- 【JSP】JSP基础学习记录(二)—— JSP的7个动作指令
2.JSP的7个动作指令: 动作指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作.编译指令在将JSP编译成Servlet时起作用:而处理指令通常可替换成JSP ...
- 编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Stud
package zuoye; public class student { int age; String name; int stuNO; void outPut() { System.out.pr ...
- 初次体验VS2015正式版,安装详细过程。
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...
- Centos 开机自启动一些软件配置
CentOS设置服务开机启动的方法 CentOS设置服务开机启动的两种方法 1.利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务,如http ...
- 提升效率(时间准确性),减少时间和资源的消耗——由89C52/89C51的定时器中断引出的一些问题
尽量用最少的文字描述清楚问题. 事情起因是这样的: 要做遥控小车的平台迁移,STM32开发板无法方便地供电,因此又拿出了尘封的51(STC89C52RC),搭配上最小系统板就可以用排针加杜邦线供电了. ...
- js判断手机访问PC端跳转到手机站
<script type="text/javascript">(function() { //得到域名后缀 var path = location.pathname.s ...
- Addthis使用
一.使用 https://www.addthis.com/.国外的SNS分享站点较多,适用于英文站点内容的分享.有教程. 我的测试代码如下: <html> <meta charset ...