SQL学习整理
SQL整理
SQL 对大小写不敏感!
一、对数据的操作
实现功能分类:
1. 增:
1.1 表存在,插入栏位:
//插入新的行(按栏位的顺序插入)
INSERT INTO Table_1 VALUES ('bly',23,'girl')
//指定栏位插入
INSERT INTO Table_1 (name,address) VALUES ('bbbb','cccc')
//将表2表中的数据都复制新增至表1中
INSERT INTO Table_1 SELECT * FROM Table_2
1.2 表不存在
//先建立表3,再将表1中的指定栏位插入新表
SELECT name,address INTO Table_3 FROM Table_1
2. 删
2.1 DELETE FROM Table_1 //删除表1表中所有数据(逐条删除,速度慢)
2.2 TRUNCATE TABLE Table_1 //清空表1表的数据(一次性删除所有,速度快)
注:delete、truncate、drop区别
|
删除XXX |
应用范围 |
格式 |
表和索引所占空间 |
|
|
delete |
数据 |
table&&view |
DELETE FROM table |
不会减少 |
|
truncate |
数据 |
table |
TRUNCATE TABLE table |
恢复初始大小 |
|
drop |
表 |
DROP TABLE table |
表占空间全部释放 |
3 改
3.1 UPDATE Table_1 SET gender='boy' WHERE name='bbbb'
4 查
4.1 SELECT * FROM Table_1 WHERE gender='boy'
4.2 SELECT * FROM Table_1
4.3 SELECT TOP 50 PERCENT name,SUM(price) FROM Table_1
GROUP BY name
Having SUM(price)>100
ORDER BY SUM(price)执行顺序:
- FROM
- WHERE
- GROUP BY 分组。一般和聚合函数一起用。
- HAVING 查询条件。WHERE 关键字无法与合计函数一起使用
- SELECT 查询
- DISTINCT 去重
- ORDER 排序
- TOP 10 (PERCENT) 前10(%)
4.4 模糊查询
‘%’多字符模糊匹配。如:’周%’,’%超’
‘_’一个字符模糊匹配。如:’周_’,’_超’
SELECT * FROM Table_1 WHERE name LIKE '%小%'
SELECT * FROM Table_1 WHERE name NOT LIKE '_超'
其他操作符
1 AND
SELECT * FROM Table_1 WHERE (name='bly' AND gender='girl')
2 OR
SELECT * FROM Table_1 WHERE (name='bly' OR name='zxl')
3 IN
IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT * FROM Table_1 WHERE name IN ('bly','zxl') //结果同上OR的结果
4 BETWEEN…AND…
包括前,不包括后
SELECT * FROM Table_1 WHERE price BETWEEN 50 AND 100 (50<=X<100)
5 JOIN
表A 和表B 为例
A: B:
5.1 内连接 INNER JOIN 则为交集A∩B
SELECT * FROM Table_1
INNER JOIN Table_2
ON Table_1.name = Table_2.name
5.2 外连接 FULL OUTER JOIN则为并集A∪B
SELECT * FROM Table_1
FULL OUTER JOIN Table_2
ON Table_1.name = Table_2.name
5.3 左连 LEFT JOIN则为A表全显示,B表没数据的NULL显示
SELECT * FROM Table_1
LEFT OUTER JOIN Table_2
ON Table_1.name = Table_2.name
5.4 右连 RIGHT JOIN 则为 B表全显示,A表没数据的NULL显示
SELECT * FROM Table_1
RIGHT JOIN Table_2
ON Table_1.name = Table_2.name
5.5 CROSS JOIN 为A表和B表的数据N*M
SELECT * FROM Table_1
CROSS JOIN Table_2
添:
A. A表有,B表没有
SELECT * FROM Table_1
FULL OUTER JOIN Table_2
ON Table_1.name = Table_2.name
WHERE Table_2.name IS NULL
B. A表、B表共有以外的
SELECT * FROM Table_1
FULL OUTER JOIN Table_2
ON Table_1.name = Table_2.name
WHERE Table_1.name IS NULL OR Table_2.name IS NULL
6 UNION
合并两个或多个 SELECT 语句的结果集。
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SELECT * FROM Table_3 WHERE name='123'
UNION
SELECT * FROM Table_1 WHERE name='paulinka'
6.1 选取不同的值
SELECT name FROM Table_3
UNION
SELECT name FROM Table_1
6.2 允许重复的值
SELECT name FROM Table_3
UNION ALL
SELECT name FROM Table_1
函数:
- AVG()平均值
- SUM()和
- COUNT()总数
- LEN()长度
- UCASE()大写
- LCASE()小写
- ROUND(A,X)显示A栏位数据小数点后X位
- GETDATE()获取时间
- MIN()最小值
- MAX()最大值
二、对表的操作
1 新建表
1.1 插入数据同时创建表
SELECT * INTO Table_3 FROM Table_1
1.2 新建空表
CREATE TABLE Table_4 (
name nvarchar(30),
age int
)
2 删除表
DROP TABLE Table_3
3 修改表
3.1 添加栏位
ALTER TABLE Table_1 ADD price int
3.2 删除栏位
ALTER TABLE Table_2 DROP COLUMN name
SQL学习整理的更多相关文章
- SQL学习整理_1
数据库是保存表和其他相关SQL结构的容器. 列是存储在表中的一块同类型数据. 行是一组能够描述某个事物的列的集合. SQL不区分大小写,但建议命令采用大写,表名采用小写,便于读写. 建立数据库 CRE ...
- SQL学习整理_2
字符串处理,字符串函数不会改变存储在表中的数据内容,他们只是把函数结果当成查询结果返回. 1. SELECT right(name,2) FROM my_list --从my_list列表中取出n ...
- 一个项目涉及到的50个Sql语句(整理版)
/* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句. */ --1.学生表Student(S,Sname,Sage,Sse ...
- 基于实际项目的SQL学习总结
青云 随笔 - 2, 文章 - 0, 评论 - 1, 引用 - 0 一个项目涉及到的50个Sql语句(整理版) /* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测 ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- HttpClient学习整理
HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2.使用POST方式提交数据(httpClient3) 3. 处理页面重定向 ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- Java设计模式(学习整理)---命令模式
设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
随机推荐
- apicloud 第三方登录授权、微信、扣扣、微博登录授权
授权登录.接入第三方的配置 例如:微信的登录授权. 首先在模块里面添加 wx 这个模块,然后在项目的配置文件里面进行配置. 配置的时候要现在微信开放平台 https://open.weixin.qq. ...
- day003 python解释器、变量和数据类型基础讲解
Python解释器 打开官网https://www.python.org/downloads/windows/ 下载中心下载对应电脑版本的Python安装包,选择custom后一路next安装完成.过 ...
- BZOJ [POI2004]PRZ 状压DP_二进制_骚操作
二进制就是比谁更sao... Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in"," ...
- Monkey日志中如何找错误
无响应问题可以在日志中搜索 “ANR” ,崩溃问题搜索 “CRASH” ,内存泄露问题搜索"GC"(需进一步分析),异常问题搜索 “Exception” monkey执行时未 ...
- flask日期和时间
本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的 ...
- 转载 - KMP算法祥解
出处:http://www.cppblog.com/oosky/archive/2006/07/06/9486.html KMP字符串模式匹配详解 来自CSDN A_B_C_ABC 网友 KM ...
- sqldependency类轮询功能
System.Data.SqlClient.SqlDependency类为我们提供了一个关于sql2005的很好的功能 ,虽然这个东西限制有很多很多,但还是有很实用价值的. 我们先看一个演示例子: 例 ...
- 数据挖掘十大经典算法--CART: 分类与回归树
一.决策树的类型 在数据挖掘中,决策树主要有两种类型: 分类树 的输出是样本的类标. 回归树 的输出是一个实数 (比如房子的价格,病人呆在医院的时间等). 术语分类和回归树 (CART) 包括了上述 ...
- RDLC报表钻取空白页问题
在改动报表查询条件时,钻取页突然空白了,百思不得其解,之前好好的,研究了一个下午和一个晚上.查资料等等,网上非常多资料都是设置报表的 ConsumeConteinerWhitespace = True ...
- yolo源码解析(3):进行简单跳帧
视频检测命令 ./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights ../../dataset/ ...