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 当下是一个大数据的时代,各 ...
随机推荐
- 日积月累系列之分页控件(js源码)
最近开发了一款分页控件,分享给大家. 主要功能和界面介绍 cform分页控件支持服务端分页.客户端分页.数据过滤.数据排序等功能. 源码介绍 cform-pager分页控件主要由三部分组成:css.s ...
- gtest框架
解析gtest框架运行机制 1.前言 Google test是一款开源的白盒单元测试框架,据说目前在Google内部已在几千个项目中应用了基于该框架的白盒测试. 最近的工作是在搞一个基于gtest ...
- Oracle执行计划——Oracle 如何启用执行计划
AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计.SQL*Plus AUTOTRACE可以用来替代SQL Trace使用,AUTOTR ...
- C#中IList<T>与List<T>的区别
首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口.它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList ...
- 入门 ASP.NET Web API 2 (C#)
入门 ASP.NET Web API 2 (C#) HTTP 不只是为了生成 web 页面.它也是一个强大的建设公开服务和数据 Api的平台. HTTP 的特性:简单. 灵活和无处不在.你能想到的几乎 ...
- 解决设置redmineblacklog的按钮无效问题
安装了redemin+backlog后,想要设置backlog, 先用管理员登录,然后访问网页: http://localhost/settings/plugin/redmine_backlogs 发 ...
- Net 4.0 之 Dynamic 动态类型
Net 4.0 之 Dynamic 动态类型 本文主要旨在与网友分享.Net4.0的Dynamic 对Duck Type 的支持. 一..net4.0主要新特性 .Net4.0在.Net3.5 ...
- DefaultModelBinder
Asp.net MVC的Model Binder工作流程以及扩展方法(3) - DefaultModelBinder Default Binder是MVC中的清道夫,把守着Model Binder中的 ...
- Hashmat the brave warrior - UVa10055
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva10055.html 题目描述 Pr ...
- SZU:B47 Big Integer I
Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Normal Descrip ...