码迷,mamicode.com
首页 > 其他好文 > 详细

黑马自学10.10学习

时间:2015-10-11 07:55:45      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

数据库

数据类型 varchar 表示可变的

 

分离数据库:是将当前数据库文件和数据库引擎关系断开,没有任何关系了,这样我们就可以随意的拷贝,剪切

在数据库文件上右键--》任务--》分离--》勾选”删除链接”--》确定

脱机:告诉数据库引擎,暂停操作当前数据库,也可以随意拷贝,剪切

附加:把已经分离的数据库文件,重新让数据库引擎管理

主键:标识一张表里面数据行

主键分为逻辑主键和业务主键

业务主键就是具有真实意义的,比如身份证,银行卡,缺点:一旦变化,难以维护

逻辑主键:没有任何实际意义,只为了表示当前列在当前数据表里的唯一标识

不可以手动编辑(特殊情况下除外)

主键列:就是不能插入重复数据的列(默认带索引)

 

主键标识列:就算数据行被删除,增长的数字也是按照原来的增长,

 

主外键:作用:就是减少重复数据

 

 

DELETE FROM 表名  删除所有数据

TRUNCATE TABLE 表名  清空表 把表里面的数据都会删除,重置为刚刚创建时候状态

以上两者效率有很大差别,如果用DELETE会产生很多日志

如果用TRUNCATE就会产生一行日志

DROP  TABLE 表名 直接删除表,不仅仅是数据

 

 

增删改查

 

增加语句

Insert into 表名(列名) values(给列名赋值)

增加的时候bit字段要用01表示

Datetime字段用单引号,里面要遵循基本的时间格式

不能为标识列插入数据(特殊情况下可以)

 

修改语句

Update 表名 SET 列名=值  where 筛选条件

Where后面可以有多个条件判断,多个条件用空格and隔开

如果where后面有andor关键字,无论位置是否优先,先执行and

对空值的判断用关键字is

 

删除数据

DELETE  FROM 表名

Delete form 表名 where 筛选条件

 

约束

非空约束  不能为空

键约束(PK) primary key constraint 唯一 且 不为空

唯一约束 (UQ)unique constraint 唯一,允许为空,但只能出现一次

默认约束 (DF)default constraint 默认值

检查约束 (CK)check constraint 范围以及格式限制

外键约束 (FK)foreign key constraint 表关系:保证外键值来源于主键

 

 

 

 

查询语句

Select * from 表名 

Select  top 10 * from 表名  查询前10位信息

Select  top 10 percent * from 表名  查询前10%的信息

 

Order by 将当前查询出来的数据结果,进行排序,排序按照后面指定的列排序

对数据进行分组,分组之后的数据就是”分组信息”,和原来的表里的信息就没有联系了,分组之后,可以取到分组根据,就是根据什么字段分组,就能去到字段的名字

还能使用聚合函数

Group byorder by一样,只不过跟Having一起使用

Having 对分组信息进行过滤,因为分组之后的信息和原来的表信息没有关系了      

 

执行顺序

查询某种表,如果表里面有1000w数据,我们只查出100

数据,在对着100条数据进行分组,可以筛选分组,如果指定列,结果集就更小了,这里只有100条指定列的数据,取出前面几条,或者去除重复,最后进行排序,排序只需要对100条数据排序了

 

DESC 倒序排序  ASC 正序排序

 

Distinct

去除重复行,但是针对于查询之后的结果,去除重复行

判断结果数据中,整行数据,只要有一个列不相同,那么就不认为是重复的

如果是多个列,先执行前面一个,在根据前面一个查询出来的结果查询后面的

 

聚合函数

Max()  最大值

Min()  最小值

Avg()  平均值

Sum()  

Count() 一共多少条数据

 

Where

Between .... and...

 

In关键字 判断一个值是否在后面括号里

 

模糊查询

使用系统已经定义好的匹配符,按照定义的规则匹配数据,如果匹配就查出来

通配符,匹配符:_ % [] ^

_  代表一个任意字符

代表多个任意字符

[]  代表一个字符 的取值区间

配合[]使用,表示不是这个区间,数据库是不兼容的,SqlServer可以用,其他数据库用not like

里面 不区分大小写

如果在匹配时,就要匹配这几个符合,那么需要把符合放在[],^不用,因为他不在[]中就默认是普通字符了

空值判断

ISNULL(‘列名’,值)

 

类型转换

Cast(待转换的值 as 数据类型)

 

联合结果集

1.2个集合必须具有相同的列数

2.列具有相同的数据类型(至少能隐式转换)

3.最终输出的集合的列名由第一个集合的列来

4.4.UNION 默认会去除重复行

5.UNION ALL 不会去除重复行

 

批量插入

将一个结果集当成值插入数据库,结果集的列数量,类型,都要一样

黑马自学10.10学习

标签:

原文地址:http://www.cnblogs.com/WZLYA/p/4868736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!