order by 和 group by 是不一样的

SQL开天辟地笔记

  • TIPS
  • 通用用法
  • CREATE TABLE 创建表
  • SQL约束
    • NOT NULL
    • UNIQUE
    • PRIMARY KEY 主键
    • FOREIGN KEY
    • CHECK
    • DEFAULT
  • 函数
    • 简单函数
      • MS Access:
      • SQL Server :
      • MS Access 中的 Scalar 函数

TIPS

order by 和 group by 是不一样的

通用用法

调用select [distinct] 列 from 表 [where 列 运算符 值] [order by 列1,列2 [desc]]去重复                   筛选              排序            逆序
插入INSERT INTO 表名称 VALUES "值1, 值2,...."INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)修改UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值删除DELETE FROM 表名称 WHERE 列名称 = 值DELETE FROM 表     '等效于'     DELETE * FROM 表 极值SELECT TOP 数字|百分比 列 FROM 表
MySQLSELECT column_name(s)FROM table_nameLIMIT m,n     从m+1开始保留n个,m可以不要
OracleSELECT *FROM PersonsWHERE ROWNUM <= 5LIKE WHERE 列 NOT LIKE '%a'或者'a%'或者'%a%'WHERE 列 LIKE '%a'或者'a%'或者'%a%'INWHERE 列 IN (value1,value2,...)BETWEEN    包头不包尾**不同数据库不一样!!!!!!!!!!!!!!BETWEEN value1 AND value2SQL Alias  表列别名创建
表:便于查找SELECT alias_name.column_name(s)FROM table_nameAS alias_name
列:修改输出列名SELECT column_name AS alias_nameFROM table_name双表引用:
法1SELECT 表1.列1, 表1.列2, 表.列1FROM 表1, 表2WHERE Persons.Id_P = Orders.Id_P
法2
JOIN    互补信息FROM 表1 JOIN 表2 ON 表1.XXX=表2.XXXJOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
INNER JOIN和JOIN没有区别SQL UNION 合并select输出的结果  SELECT column_name(s) FROM table_name1UNION "ALL"SELECT column_name(s) FROM table_name2
UNION   选取不同的值
UNION ALL  可以重复SELECT INTO 选择拷贝SELECT 列名INTO new_table_name [IN externaldatabase] FROM old_tablenameCREATE DATABASE 创建数据库CREATE DATABASE database_name

通配符

通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[字符] 字符列中的任何单一字符
[^字符] 或者 [!字符] 不在字符列中的任何单一字符

CREATE TABLE 创建表

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
数据类型 描述
integer(size)

int(size)

smallint(size)

tinyint(size)

仅容纳整数。在括号内规定数字的最大位数。
decimal(size,d)

numeric(size,d)

容纳带有小数的数字。

“size” 规定数字的最大位数。“d” 规定小数点右侧的最大位数。

char(size) 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。

在括号中规定字符串的长度。

varchar(size) 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。

在括号中规定字符串的最大长度。

date(yyyymmdd) 容纳日期。

SQL约束

跟在数据类型后头限定数据格式、要求等

NOT NULL

不接受NULL,必须包含值,否则无法继续更新

UNIQUE

提供为唯一性保证

3种形式:
CREATE TABLE Persons
(
Id_P int UNIQUE
UNIQUE(Id_P,其他也可以)
)
建立后
ADD UNIQUE(Id_P)增加限制名称
ADD CONSTRAINT 限制名称 UNIQUE (Id_P)
撤销
MySQL:ALTER TABLE PersonsDROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:ALTER TABLE PersonsDROP CONSTRAINT uc_PersonID

PRIMARY KEY 主键

主键:必须是唯一值,不能是NULL
必须有且唯一
NOT NULL 限制是必须的
其实就是成行定位基准

MySQL:尾部接PRIMARY KEY (Id_P)
SQL Server/ Oracle/MS Access:Id_P int NOT NULL PRIMARY KEY定义约束名:
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)添加:使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)ALTER TABLE PersonsADD PRIMARY KEY (Id_P)ALTER TABLE PersonsADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
撤销:
MySQL:ALTER TABLE PersonsDROP PRIMARY KEYSQL Server / Oracle / MS Access:ALTER TABLE PersonsDROP CONSTRAINT pk_PersonID

这上面就很矛盾一下就说必须要建立主键,后面又能添加就很扯

FOREIGN KEY

CHECK

DEFAULT

函数

建立方式

SELECT function(列) FROM 表

简单函数

MS Access:

函数 描述
AVG(column) 返回某列的平均值
COUNT(column) 返回某列的行数(不包括 NULL 值)
COUNT(*) 返回被选行数
FIRST(column) 返回在指定的域中第一个记录的值
LAST(column) 返回在指定的域中最后一个记录的值
MAX(column) 返回某列的最高值
MIN(column) 返回某列的最低值
STDEV(column)
STDEVP(column)
SUM(column) 返回某列的总和
VAR(column)
VARP(column)

SQL Server :

函数 描述
AVG(column) 返回某列的平均值
BINARY_CHECKSUM
CHECKSUM
CHECKSUM_AGG
COUNT(column) 返回某列的行数(不包括NULL值)
COUNT(*) 返回被选行数
COUNT(DISTINCT column) 返回相异结果的数目
FIRST(column) 返回在指定的域中第一个记录的值(SQLServer2000 不支持)
LAST(column) 返回在指定的域中最后一个记录的值(SQLServer2000 不支持)
MAX(column) 返回某列的最高值
MIN(column) 返回某列的最低值
STDEV(column)
STDEVP(column)
SUM(column) 返回某列的总和
VAR(column)
VARP(column)

MS Access 中的 Scalar 函数

函数 描述
UCASE© 将某个域转换为大写
LCASE© 将某个域转换为小写
MID(c,start[,end]) 从某个文本域提取字符
LEN© 返回某个文本域的长度
INSTR(c,char) 返回在某个文本域中指定字符的数值位置
LEFT(c,number_of_char) 返回某个被请求的文本域的左侧部分
RIGHT(c,number_of_char) 返回某个被请求的文本域的右侧部分
ROUND(c,decimals) 对某个数值域进行指定小数位数的四舍五入
MOD(x,y) 返回除法操作的余数
NOW() 返回当前的系统日期
FORMAT(c,format) 改变某个域的显示方式
DATEDIFF(d,date1,date2) 用于执行日期计算
AVG()SELECT AVG(column_name) FROM table_nameSELECT AVG(OrderPrice) AS OrderAverage FROM OrdersSELECT Customer FROM OrdersWHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)

SQL笔记之开天辟地相关推荐

  1. 金典 SQL笔记(2)

    金典 SQL笔记(2) 由于在本地笔记上写的.CSDN markdown编辑器仅仅支持.md格式导入, 图片没办法直接导进去.写的多了懒的一张一张图片切图上传; 直接整个文章切成图片上传上去了. po ...

  2. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  3. Cris 的 Spark SQL 笔记

    一.Spark SQL 概述 1.1 什么是Spark SQL Spark SQL 是 Spark 用来处理结构化数据的一个模块,它提供了2个编程抽象: DataFrame 和DataSet,并且作为 ...

  4. PL SQL笔记(三)

    loopif credit_rating < 3 then..exit;end if; end loop; select to_char(sysdate, 'YYYY-MM-DD HH24:MI ...

  5. 10g数据库入门与实践 oracle_从实践中学习Oracle SQL笔记一

    最近开始做Oracle备份相关的工作,但是Oracle从来没有用过,有点懵.这两天看了一遍官网,找了几本书学习,现对学习的东西总结总结. 这一节主要讲一下入门的概念 首先Oracle是有一个datab ...

  6. 转-《高性能mysql》并不是一本好书——SQL笔记

    转自: https://book.douban.com/review/8122660/ 版权归作者所有,任何形式转载请联系作者. 作者:姚泽源(来自豆瓣) 来源:https://book.douban ...

  7. SQL笔记-检索出ID为Int或Long中不连续的第一个点

    命令如下: select MY_ID+1 from TableName where MY_ID+1 not in(select MY_ID from TableName) and MAP_ID+1&l ...

  8. SQL笔记-通过构建索引表方便数据库管理

    首先来帖下SQL代码吧: /* SQLyog Ultimate v11.24 (32 bit) MySQL - 5.5.56 : Database - demostrationtest ******* ...

  9. 阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

    开头我先说: 有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:""广".加之其简单易学,SQL实现也可一字概括:&quo ...

  10. 黑马程序员MySQL-存储过程SQL笔记

    对应课程地址 -- 存储过程 -- 准备数据 create database if not exists mydb7_procedure; use mydb7_procedure; create ta ...

最新文章

  1. python保存到固定文件夹的存储路径不能直接复制!
  2. js php滚动图代码,JavaScript_JS实现的N多简单无缝滚动代码(包含图文效果),本文实例讲述了JS实现的N多简 - phpStudy...
  3. 目标意识应求成大于避败 思考时不要先意识到身不足而自我设限
  4. ConcurrentHashMap的源码分析-为什么要做高低位的划分
  5. 《C++ Primer 第五版》(第4.11-4.12节)——static_cast,const_cast和reinterpret_cast类型转换, 运算符优先级表
  6. Windows 桌面主题,桌面背景
  7. 怎么能让宝贝快点入睡?
  8. Bailian2810 完美立方【暴力】(POJ NOI0201-1812)
  9. 心不唤物,物不至,聊聊积极心态重要性
  10. linux驱动篇-touchscreen-精简版
  11. C++——运算符的重载
  12. 《东周列国志》第六十四回 曲沃城栾盈灭族 且于门杞梁死战
  13. GB28181国标平台接入摄像头、NVR录像机通道数位0没有通道的处理方式
  14. Appium+Python MAC安装Android夜神模拟器(二)
  15. Autofac的高级使用——Autofac.2.6.3.862
  16. 如何用 Redis 查询 “附近的人” ?
  17. 【操作系统】操作系统知识点整理;C++ 实现线程池与windows 线程池的使用;
  18. 京东数科与中铁武汉电气化局达成战略合作 数字科技助力电气化铁路建设
  19. 【深度学习入门】——亲手实现图像卷积操作
  20. 网络营销工具:网上收集的30个常用SEO工具

热门文章

  1. eclipse导入javaWeb项目
  2. 背包九讲(超值得看的一大坨资料,附代码、视频、资料...)
  3. 快速入手光学字符识别控件Aspose.OCR!学会使用C#以编程方式对图像执行OCR
  4. java ocr linux_linux (centos7)上装Tesseract-OCR最新版本(5.0)
  5. 发那科机器人编程软件fanuc roboguide授权补丁_工业机器人离线编程与应用:ROBOGUIDE V8.3版本的工程文件创建...
  6. 黑客入侵电脑网络四大步骤全面曝光
  7. 基于STM32单片机设计指纹考勤机+上位机管理
  8. Scratch3 优化,开启压缩,提高访问速度
  9. mysql绘制er图教程_使用MySQLWorkBench绘制ER图
  10. 蓝牙路由器系列产品:企业级Cassia E1000