数据查询功能

单表查询

选择若干列

1. 指定列
SELECT 列名称 FROM 表名称
2. 全部列
SELECT * FROM 表名称
3. 经过计算的列
SELECT Sname, 2019-Sage FROM Student

经过计算的列、常量列显示结果都没有列名(显示为 '无列名'),可以通过其别名的方法改变查询结果显示的列名。

列名 | 表达式  [AS] 列别名
SELECT Sname 姓名, 2019-Sage 出生年份 FROM Student

选择若干元组

1. 消除取值相同的行

关键字:DISTINCT

SELECT DISTINCT 列名称 FROM 表名称
2. 满足条件的元组
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
查 询 条 件 运 算 符
比较 =,>,>=,<,<=,<>,!=
确定范围 BETWEEN…AND,NOT BETWEEN…AND
确定集合 IN,NOT IN
字符匹配 LIKE,NOT LIKE
空值 IS NULL,IS NOT NULL
多重条件 AND,OR

Sage BETWEEN 20 AND 30 相等于 Sage >= 20 AND Sage <= 23

对结果排序

ORDER BY <列名> [ASC|DESC]

默认是升序 ASC, 降序 DESC

使用聚合函数

表中元组总数: SELECT COUNT(*) FROM 表名
列均值: SELECT AVG(列名) FROM 表名
列个数: SELECT COUNT([DISTINCT] 列名) FROM 表名
最大值: SELECT MAX(列名) FROM 表名
最小值: SELECT MIN(列名) FROM 表名
列和值: SELECT SUM(列名) FROM 表名

分组统计

SELECT 分组依据列名, 聚合函数 FROM 表名 WHERE 列名 运算符 值
GROUP BY 列名
[ HAVING 聚合函数 运算符 值 ]

使用TOP限制结果

SQL Server 的语法:
SELECT TOP number [ percent ] [WITH TIES] 列名 FROM 表名
MySQL 语法
SELECT 列名 FROM 表名 LIMIT number
Oracle 语法
SELECT 列名 FROM 表名 WHERE ROWNUM <= number

多表链接

FROM table1 INNER|LEFT|RIGHT JOIN table2 ON <连接条件> INNER|LEFT|RIGHTJOIN table3 ON <连接条件> ...

数据更改功能

插入数据

单行插入

INSERT INTO 表名 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO 表名 (列1, 列2,...) VALUES (值1, 值2,....)

多行插入

INSERT INTO 表名 [(列1, 列2,...)] SELECT语句

更新数据

UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 某值

删除数据

DELETE FROM 表名 WHERE 列名 = 值

数据库SQL归纳(三)的更多相关文章

  1. 数据库SQL归纳(一)

    SQL功能分类 SQL 功能 动 词 数据定义 DDL CREATE.ALTER.DROP 数据查询 DQL SELECT 数据更改 DML INSERT.UPDATE.DELETE 数据控制 DCL ...

  2. 数据库 数据库SQL语句三

    转换函数 to_char()字符串转换日期函数 --查询大于某个日期的员工信息 select * from emp where hiredate>to_date('1980-02-12','yy ...

  3. 数据库SQL归纳(二)

    数据定义功能 对象 创建 修改 删除 架构 CREATE SCHEMA DROP SCHEMA 表 CREATE TABLE ALTER TABLE DROP TABLE 视图 CREATE VIEW ...

  4. Oracle数据库备份与恢复的三种方法

    转自blueskys567原文Oracle数据库备份与恢复的三种方法, 2006-10. 有删改 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份. 导出 ...

  5. 【SQL server初级】数据库性能优化三:程序操作优化

    数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第三部分 数据库性能优化三:程序操作优化 概述:程序访问优化也可以认为是访问SQL语句的优化,一个好的SQL语句是可以减少 ...

  6. 数据库整理(三) SQL基础

    数据库整理(三) SQL基础 SQL语言的特点 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体. 可以独立完成数据库生命周期中的全部活动: ​ ●定义和修改.删除关 ...

  7. 数据库SQL优化大总结之 百万级数据库优化方案(转载)

    网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...

  8. 关于数据库SQL优化

    1.数据库访问优化   要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件 ...

  9. 数据库sql优化总结之5--数据库SQL优化大总结

    数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...

随机推荐

  1. Codeforces Round #302 解题报告

    感觉今天早上虽然没有睡醒但是效率还是挺高的... Pas和C++换着写... 544A. Set of Strings   You are given a string q. A sequence o ...

  2. eclipse执行maven install命令时跳过test

    在pom.xml里面配置一下代码,将跳过test. <plugins> <plugin> <groupId>org.apache.maven.plugins< ...

  3. Python第三方库wordcloud(词云)快速入门与进阶

    前言: 笔主开发环境:Python3+Windows 推荐初学者使用Anaconda来搭建Python环境,这样很方便而且能提高学习速度与效率. 简介: wordcloud是Python中的一个小巧的 ...

  4. 【R语言学习】时间序列

    时序分析会用到的函数 函数 程序包 用途 ts() stats 生成时序对象 plot() graphics 画出时间序列的折线图 start() stats 返回时间序列的开始时间 end() st ...

  5. STM32接口FSMC/FMC难点详解

    STM32接口FSMC/FMC难点详解 转载   http://blog.sina.com.cn/s/blog_808bca130102x94k.html STM32F767的FMC将外部存储器划分为 ...

  6. linux下实现在程序运行时的函数替换(热补丁)【转】

    转自:http://www.cnblogs.com/leo0000/p/5632642.html 声明:以下的代码成果,是参考了网上的injso技术,在本文的最后会给出地址,同时非常感谢injso技术 ...

  7. python基础===利用PyCharm进行Python远程调试(转)

    原文链接:利用PyCharm进行Python远程调试 背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是 ...

  8. 文字顺时针旋转90度(纵向)&古诗词排版

    1.文字旋转90度 width: 100px; height: 200px; line-height: 100px; text-align: center; writing-mode: vertica ...

  9. J2EE MySQL Date数据保持一致解决方案

    1.设置MySQL时区,明确指定 MySQL 数据库的时区,不使用引发误解的 CST show variables like '%time_zone%';set global time_zone = ...

  10. Disruptor 线程间共享数据无需竞争

    队列的作用是缓冲 缓冲到 队列的空间里.. 线程间共享数据无需竞争 原文 地址  作者  Trisha   译者:李同杰 LMAX Disruptor 是一个开源的并发框架,并获得2011 Duke’ ...