SQL学习整理_2
字符串处理,字符串函数不会改变存储在表中的数据内容,他们只是把函数结果当成查询结果返回。
1. SELECT right(name,2) FROM my_list --从my_list列表中取出name列前两个字符,同理可使用left()
SELECT right(name,len(name)-charindex(',',name)) FROM my_list --取出逗号前的所有字符
2. SELECT substring(name,1,2) FROM tablename --取出从第一个字符开始截取两个两个字符
3. 大小写转换 upper() lower()
4. 反转字符串顺序 reverse()
5. 清除左边或右边空格 ltrim() rtrim()
5. 返回字符串长度 len()
Case when then:
use test1
select stuid,stuname,
(case when stuid=1 then '' when stuid=2 then '' else '' end) as temp
from dbo.Student
排序:order by
默认情况下,SQL按升序排列。如要按降序排序需加DESC。
可以指定两列作为排序依据,也可以指定两列按不同的排序,例如第一列升序,第二列降序
order by title ASC,name DESC
SUM/AVG/min/max/count
Distinct 选取不重复的数值,是SQL中的一个关键字,不是函数,所以不用加() -- Select Distinct id from table
top 限制返回结果的数量, top 3 返回最上3条数据
mysql中为 limit 3
插入外键列的值必须已存在于父表的来源列中,这是引用完整性。 外键不一定必须是父表的主键,但必须具有唯一性。add constraint 约束名 foreign key() reference ()
范式规则:
第一范式1NF:
数据列只包含原子性的值,没有重复数据。
第二范式2NF:
已符合第一范式的表只有所有列都是主键的一部分,没有部分函数依赖。
第三范式3NF:
符合2NF,无传递依赖。
部分依赖就是非主属性对部分主键依赖
完全依赖就是非主属性必须全部依赖于组合主键
传递依赖就是非主列对非主列一列,随着另一列数据的改变而改变。
存在部分依赖则不满足2NF
存在传递依赖则不满足3NF
闭包:属性集的闭包就是属性集的每个子集以及根据每个属性可推导出的属性集。
创建新表是如需要对数据进行检测,可加check约束
create table a(
sex char(2) check (sex in ('男‘,’女‘))
)
SQL是一种声明式语言,声明想要的数据是什么样的,而不是关注计算机怎么得到数据。
SQL的语句执行顺序不按你书写顺序执行,第一步是执行from字句,将数据从硬盘加载到数据缓冲区。
SQL的核心是对数据的引用,对表的引用。
---发于12/14/2016 11:13AM
SQL学习整理_2的更多相关文章
- SQL学习整理_1
数据库是保存表和其他相关SQL结构的容器. 列是存储在表中的一块同类型数据. 行是一组能够描述某个事物的列的集合. SQL不区分大小写,但建议命令采用大写,表名采用小写,便于读写. 建立数据库 CRE ...
- SQL学习整理
SQL整理 SQL 对大小写不敏感! 一.对数据的操作 实现功能分类: 1. 增: 1.1 表存在,插入栏位: //插入新的行(按栏位的顺序插入) INSERT INTO Table_1 VALUES ...
- 一个项目涉及到的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模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
随机推荐
- .NET LINQ 数据分组
数据分组 分组指将数据放入组中以便每个组中的元素共享公共特性的操作. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 GroupBy 对共享 ...
- Web前端发展前景及就业方向
Web前端发展前景及就业方向 HTML5技术已经日趋成熟 Html5是移动互联网前端的主流开发语言,目前还没有一个前端的开发语言能取代 html5的位置,所以说,无论你是做手机网站还是在手机app应用 ...
- hive2.1.0安装
下载hive(http://mirrors.cnnic.cn/apache/hive/) 或者 http://archive.apache.org/dist/hive/(hive历史版本) 在本地进行 ...
- Java正则表达式实现字符串的动态多替换
需求场景: 今天在处理SQL语句的时候,由于数据库中存的格式是VARCHAR2型的,这就需要对SQL语句中WHERE条件后边的带数字的字符串加上单引号,对于字符串的处理,首先想到的就是正则表达式,对正 ...
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
原文链接:http://jiajun.iteye.com/blog/810150 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- JAVA基础中的注意点(二)
1.数组 a.特点:同种数据类型:数组类型一旦确定就不能改变. 连续空间存放:数据空间是连续的. 空间长度:数组有自己的长度,初始化的时候需要定义. 数组的下标:从0开始,第一个数组元素下标为0,最后 ...
- Django+Tastypie作后端,RequireJS+Backbone作前端的TodoMVC
一.配置好环境 接着前一篇的例子,顺带测试一下已下载下来example里面的backbone_require的例子 注意:直接本地用backbone.localStorage插件运行TodoMVC会报 ...
- 中间人攻击(MITM)姿势总结
相关学习资料 http://www.cnblogs.com/LittleHann/p/3733469.html http://www.cnblogs.com/LittleHann/p/3738141. ...
- Ubuntu下使用vsftpd实现FTP
## 哈哈哈啊哈 被领导啪啪啪打脸,文件连在线打开都不行,你做事情的时候有没有考虑过别人使用时的感受!! 需求: 部门老大希望在内网搭建一个用于员工共享文件的系统. 很自然的就想到通过FTP去实现. ...
- android 修改 SwitchPreferenceCompat 高度,内边距,字体大小
public class FontSizeSwitchPreferenceCompat extends SwitchPreferenceCompat { private Context mContex ...