sql数据黑马程序员——SQL入门
最近研究sql数据,稍微总结一下,以后继续补充:
---------------------- ASP.Net+Android+IO开辟S、.Net培训、等待与您交流! ----------------------
今天看了SQL入门视频,简单的记录下。
Catalog、Table、Column
Catalog(分类)又叫数据库DataBase、表空间TableSpace。
将不同类的数据放到不同的数据库中,存储在不同的表中,表中每一列(Column)代表数据的一项属性。
分类的利益:1.便于对各个Catalog的管理
2.防止定名冲突
3.安全性更高
主键 PrimaryKey
是数据行的独一标识。不会重复的列才能当主键。分为业务主键和逻辑主键。
业务主键:应用有业务意思的字段做主键。
逻辑主键:应用没有任何业务意思的字段做主键。
SQL中经常使用的主键类型:int(bigint)+标识列(主动增加字段)和 uniqueidentifier 类型(GUID)
SQL中应用newid()方法失掉一个GUID,C#中应用Guid.NewGuid()方法获得GUID。
SQL语句
SQL语句是标准的数据库操纵语句。对大小写不敏感。
需要注意的一些地方:sql中字符串用单引号表现,而不是用双引号;等于判断用“=”,不等判断用“!=”或者“<>”。
一般将sql语句分为两类:DDL和DDM。
DDL(数据定义语言):create、drop、alter操纵
DDM(数据操纵语言):insert、delete、update、select操纵
SQL中常见的类型
bit 只能选择0或者1
int 32位数 bigint 64位数
char(lenth) 指定lenth长度的字符串
varchar(lenth) 可变长字符串,长度最大值lenth nvarchar(lenth) 允许字段含有非ASCII码的字符串,如中文
一些基本的SQL语法
create table Person(id int not null, name varchar(50), age int)
insert into Person(id, name, age) values(1, 'A', 10)
update Person set age=18 where id=1
select * from Person
delete form Person 与drop不同的是:drop删除全部表结构,delete删除的是表中的数据
drop talbe Person
排序 order by
排序方式:ASC递增,DESC递减。
需要注意 order by 要放在 where 语句之后, select * from Person where age > 10 order by age
当对多个项目排序时早年往后进行, select * from Person order by age DESC,name ASC
分组 group by
group by 必须放在 where 之后。没有出现在 group by 子句中的列是不能放在 select 语句的列名列表中的。
select age, name from Person group by age 应用就是错误的,对age分组后,每一组中可能有多个name值
虽然你现在还只是一株稚嫩的幼苗。然而只要坚韧不拔,终会成为参天大树;虽然你现在只是涓涓细流,然而只要锲而不舍,终会拥抱大海;虽然你现在只是一只雏鹰,然而只要心存高远,跌几个跟头之后,终会占有蓝天。
Having语句
用于对分组进行过滤。聚合函数不能出现在where子句中,除非该聚合位于Having语句或选择列表所包含的子查询中。
Having 要位于group by 之后。并且Having中不能应用为参数分组的列。
select age, count(*) from Person group by age having coung(*)>1
通配符过滤(模糊匹配)
分为单字通配符和多字通配符两种。
单字通配符用“_”表现,只能代表一个字符。多字通配符用“%”。
select * from Person wher name like 'A%' 查找结果为所用姓名以A扫尾的数据
空值处置
在sql中null表现不知道的意思,而不是编程语言中的空。
应用 is null, is not null 可以进行空值的判定。
select * from Person where name is not null
多值匹配
应用 and、or、between and 做判定范围的连接。
select * from Person where age=10 or age=18
制约结果集行数
select top 3 * from Person order by age 按照年龄升序排列后,取得排前三的数据行
select top 3 * from Person where id not in (select top 5 id from Person order by age DESC) order by age DESC 取得年龄降序排6、7、8的三个数据行
去掉重复数据
应用 distinct 关键字可以去掉查询结果中重复的数据行。
select distinct age from Person
结合 union
要求进行结合的每个结果集必须有相同的列数,并且列必须类型相容。
有 union 和 union all 两种结合方式。
union 会默认去掉完全相同的数据,因为需要进行重复值扫描,所以 union 效率低。
union all 不进行重复行合并。
select name, salary from Person
union
select '工资合计', sum(salary) from Person
-The End-
© Jervis
---------------------- ASP.Net+Android+IOS开辟、.Net培训、等待与您交流! ----------------------
详细请查看:http://edu.csdn.net
文章结束给大家分享下程序员的一些笑话语录:
程序员喝酒
我偶尔采用“木马策略”、“交叉测试”,时间不长就开始“频繁分配释放资源”,“cache”也是免不了的了,
不过我从不搞“轮巡”,也不会“捕获异常”,更不会“程序异常”,因为我有理性
克制的。
---------------------------------
原创文章 By
sql和数据
---------------------------------
sql数据黑马程序员——SQL入门的更多相关文章
- 黑马程序员+SQL基础(上)
黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...
- 函数sql黑马程序员——SQL常用函数
最近使用开辟的过程中出现了一个小问题,顺便记录一下原因和方法--函数sql ---------------------- ASP.Net+Android+IO开辟S..Net培训.等待与您交流! -- ...
- 黑马程序员+SQL基础(下)
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net ...
- 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17
黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...
- 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制
大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...
- 黑马程序员:轻松精通Java学习路线连载1-基础篇!
编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...
- 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具
Java学习路线图引言: 黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...
- 黑马程序员:3分钟带你读懂C/C++学习路线
随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...
- 【转】Python用数据说明程序员需要掌握的技能
[转]Python用数据说明程序员需要掌握的技能 https://blog.csdn.net/HuangZhang_123/article/details/80497951 当下是一个大数据的时代,各 ...
随机推荐
- Robotium源码分析之Instrumentation进阶
在分析Robotium的运行原理之前,我们有必要先搞清楚Instrumentation的一些相关知识点,因为Robotium就是基于Instrumentation而开发出来的一套自动化测试框架.鉴于之 ...
- InstallShield集成安装MSDE2000最小版本(三) fishout特许授权发布
原文:InstallShield集成安装MSDE2000最小版本(三) fishout特许授权发布 原帖地址:http://blog.csdn.net/fishout/archive/2009/11/ ...
- 为Pythonic论坛添加一个“专题”功能
代码还没读完就踏上了修改功能的深坑.还好思路清晰,通过修改模板和视图,实现了专题模块 原论坛的模式是用户点击节点发帖,然后就归到节点的分类里面了.我需要一个功能,就是右侧需要一个专题区,管理员发帖的话 ...
- DDD分层架构之值对象(层超类型篇)
DDD分层架构之值对象(层超类型篇) 上一篇介绍了值对象的基本概念,得到了一些朋友的支持,另外也有一些朋友提出了不同意见.这其实是很自然的事情,设计本来就充满了各种可能性,没有绝对正确的做法,只有更好 ...
- Erlang运行时的错误
Erlang运行时发生错误时,会返回一些错误信息,理解这些信息,对于学好.用好Erlang来说是必要. Erlang中的运行错误包括:badarg, badarith, badmatch, funct ...
- WP 开发中.xaml 与.xaml.cs
关于 WP 开发中.xaml 与.xaml.cs 的关系 今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: ...
- Extjs表单控件入门
ExtJs表单控件用formPanel来做为表单元素的容器.默认情况下,是使用Ajax异步提交. 大家知道要使用Extjs必须引入他的库,所以我们要引入以下几个文件: ext-all.css ext- ...
- SugarSync网盘之XML解析
iOS的XML解析 刚在应用里支持了SugarSync网盘.其实也是第一次听说这个网盘,不过在国外貌似还蛮有名,这些都不是重点,重点是借此来总结一下iOS的XML解析.Xml想必也不陌生了,但是在iO ...
- c# UDP/TCP协议简单实现(简单聊天工具)
长时间没有摸这两个协议,写个代码温习下 下面是界面 [服务器界面] [登陆界面] [好友列表界面(我登陆了2个)] [聊天界面] 下面大致讲解下用到的内容 1.用户登陆于服务器通信用到的tcp协议,服 ...
- [转]Whirlwind Tour of ARM Assembly
ref:http://www.coranac.com/tonc/text/asm.htm 23.1. Introduction Very broadly speaking, you can divid ...