最近研究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入门的更多相关文章

  1. 黑马程序员+SQL基础(上)

    黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...

  2. 函数sql黑马程序员——SQL常用函数

    最近使用开辟的过程中出现了一个小问题,顺便记录一下原因和方法--函数sql ---------------------- ASP.Net+Android+IO开辟S..Net培训.等待与您交流! -- ...

  3. 黑马程序员+SQL基础(下)

    ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net ...

  4. 大数据-将MP3保存到数据库并读取出来《黑马程序员_超全面的JavaWeb视频教程vedio》day17

    黑马程序员_超全面的JavaWeb视频教程vedio\黑马程序员_超全面的JavaWeb教程-源码笔记\JavaWeb视频教程_day17-资料源码\day17_code\day17_1\ 大数据 目 ...

  5. 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制

    大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...

  6. 黑马程序员:轻松精通Java学习路线连载1-基础篇!

    编程语言Java,已经21岁了.从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的.Java应用的广泛已 ...

  7. 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具

        Java学习路线图引言:        黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...

  8. 黑马程序员:3分钟带你读懂C/C++学习路线

    随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能使之成为高级语言中的性能王者.而在今天,它又扮演着什么样重要的角色呢?请往下看: 后端服务器,移 ...

  9. 【转】Python用数据说明程序员需要掌握的技能

    [转]Python用数据说明程序员需要掌握的技能 https://blog.csdn.net/HuangZhang_123/article/details/80497951 当下是一个大数据的时代,各 ...

随机推荐

  1. DB2常用sql demo

    .查找员工的编号.姓名.部门和出生日期,如果出生日期为空值,显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd. ),birthday,),'日期不详') birthday from em ...

  2. js 正则之 控制字符 \cX

    原文:js 正则之 控制字符 \cX 前些天在司徒正美的群里有人问了这么个问题:正则表达式里特殊字符 \cX 到底是什么?确实,我之前也挺在意的,但是一直没去看到底是什么.在MDN上只说是控制字符(详 ...

  3. 从久负盛名的GoDaddy开发革命来看Node.js的风靡程度

    英文原文连接:http://venturebeat.com/2015/02/09/godaddy-nodejitsu/ 网站主机托管公司GoDaddy将要进一步通过新的开发工具来提升自身能力.最新消息 ...

  4. Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》

    本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...

  5. A在SP.NET跨页多选

    在ASP.NET跨页多选 本文介绍怎样在ASP.NET中实现多页面选择的问题.其详细思路非常easy:用隐藏的INPUT记住每次选择的项目,在进行数据绑定时.检查保存的值,再在DataGrid中进行选 ...

  6. 快速构建Windows 8风格应用37-常见发布注意事项

    原文:快速构建Windows 8风格应用37-常见发布注意事项 引言 通常我们发布Windows Store应用失败后,会返回一些错误需要我们去修改.我之前在给学生做培训的时候发现大部分同学应用被打回 ...

  7. 1.3 LINQ查询

    LINQ最具突破性的优势在于将文本查询与对象操作完美集成,它让查询数据和操作对象一样安全和轻松.查询(Query)是LINQ的核心概念之一. 传统意义上的数据查询语言,通常是比较易懂,具有一定语义的文 ...

  8. C# 在本地创建文件夹及子文件夹

    string dict = @"d:\估价报告\"; if (!Directory.Exists(dict)) { Directory.CreateDirectory(dict); ...

  9. HDU1024 Max Sum Plus Plus(DP)

    状态:d(i,j)它代表前j划分数i部并且包括第一j最佳结果时的数.g(i,j)表示前j划分数i最好的结果时,段,g(m,n)结果,需要. 本题数据较大.需採用滚动数组.注意:这题int类型就够用了, ...

  10. Android_WebServices_介绍

    本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38036289 1.WebService的介绍 WebService为 ...