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模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
随机推荐
- python IOError: [Errno 0] Error
Windows系统下,此异常在以'a+'模式打开文件,读文件,再写入过程中出现.其原因在于读写交替过程中必须要有fflush, fseek, fsetpos, rewind这类操作,不然python就 ...
- android 得到缩略图
转载至 http://blog.csdn.net/dxh040431104/article/details/6667448 怎样获取图片的大小?思路很简单:首先我们把这个图片转成Bitmap,然后再利 ...
- 前台处理json字符串的几种方法(转)
原文地址http://www.css88.com/archives/3919 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":&quo ...
- 在此为LCT开一个永久的坑
其实我连splay都还不怎么会. 今天先抄了黄学长的bzoj2049,以后一定要把它理解了. 写LCT怎么能不%数据结构大神yeweining呢?%%%chrysanthemums %%%切掉大森林 ...
- CodeForces 514B
B. Han Solo and Lazer Gun time limit per test 1 second memory limit per test 256 megabytes input sta ...
- 近半年MVC使用后的一些习惯
半年前接新项目, 来了一个前端, 由于只有我前后台都会, 就做业务层+辅助前端显示, 于是我决定使用MVC 上面那句无关紧要的话让我改了好多遍, 转载请注明出处: http://www.cnblogs ...
- Leetcode Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...
- JS:事件对象1
一,this关键字和上下文 var box = document.getElementById("box");. 普通的函数如果没有给他传递参数,函数本身是没有参数的. test( ...
- JavaScript必须了解的知识点总结【转】
整理的知识点不全面但是很实用. 主要分三块: (1)JS代码预解析原理(包括三个段落): (2)函数相关(包括 函数传参,带参数函数的调用方式,闭包): (3)面向对象(包括 对象创建.原型链,数据类 ...
- Linux install SMplayer
sudo apt-add-repository ppa:rvm/smplayer sudo apt-get update sudo apt-get install smplayer smplayer- ...