黑马自学10.10学习

数据库

数据类型 varchar 表示可变的

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

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

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

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

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

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

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

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

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

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

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

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

DELETE FROM 表名  删除所有数据

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

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

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

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

增删改查

增加语句

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

增加的时候bit字段要用0跟1表示

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

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

修改语句

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

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

如果where后面有and和or关键字,无论位置是否优先,先执行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 by跟order 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 不会去除重复行

批量插入

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

时间: 2024-08-06 12:13:44

黑马自学10.10学习的相关文章

黑马自学9.29学习

抽象类 抽象方法用abstract修饰 抽象方法不能有方法体 抽象方法不能实例化,因为有抽象成员,而抽象成员不能有方法体的 子类必须重写父类的抽象方法 在子类中无法通过base关键字调用父类的抽象方法 抽象方法是光说不做的,只是定义了具有这样的行为,但是具体的实现交给了子类 抽象类中可以拥有非抽象成员,为了继承给子类 抽象类中可以拥有虚方法 子类必须重写父类的方法,父类没有必要实例化,就用抽象类 抽象类是被继承的,是为了多态 抽象成员不能是私有的 接口 是一个特殊的抽象类 使用interface

黑马自学9.28学习

里氏转换原则:LSP子类可以替换父类的位置,并且程序的功能不受影响 父类有的功能子类都有,所以不影响程序的功能 父类变量指向了一个子类对象 当一个父类变量指向一个子类对象的时候,只能通过这个父类变量调用父类的成员,子类独有的成员无法调用 子类变量不能指向1个父类对象 必须要有继承关系,才可以使用强制转换 如果一个父类变量指向的就是一个父类对象,将这个父类对象转换为子类对象的会报异常 如果一个父类变量指向一个子类对象,那么可以将这个父类变量转换为子类对象 is 判断变量是否是指定的类型 如果没有继

黑马自学9.24学习

交错数组  行固定,但是每一行的列不固定 二维数组  行固定.列固定 构造方法 访问修饰符一般情况下是public,没有返回值,方法名与类名一样 构造函数是创建对象的时候CLR自动调用 程序员无法手动调用 构造函数可以有参数 如果我们希望在创建这个类的对象的同时需要执行一些代码,我们就可以把这些代码写到构造函数中 This关键字,代表当前对象,当前运行在内存里的那个对象 被partial关键字修饰的类.叫做部分类,或者伙伴类 C#编译器在编译的时候会将伙伴类编译成一个类,所以在另一个伙伴类中定义

黑马程序员_JavaSE学习总结第10天_面向对象5

------- android培训.java培训.期待与您交流! ----------  10.01 运动员和教练案例分析 教练和运动员案例:运动员分乒乓球运动员和篮球运动员,教练分乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语. 分析:   10.02 运动员和教练案例实现 1 //定义一个说英语的接口 2 interface SpeakEnglish 3 { 4 //说英语 5 public abstract void speak(); 6 } 7 8 //定义人的抽象

20145331 《Java程序设计》第10周学习总结

20145331 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可. 网络编程步骤: 1. 建立网络连接 客户端网络编程的第一步都是建立网络连接.在建立网络连接时需要指定连接到的服务器的IP地址和端口号,建立完成以后,会形成一条虚

20145239杜文超 《Java程序设计》第10周学习总结

20145239 <Java程序设计>第10周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 网络概述 1.计算机网络概述 (1)路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. (2)网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机. (3)IP地址:为了能够方便的识别网络上的每个设备,网络中的每个设备

[每周翻译]作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后享受一生的?

原文地址:https://www.quora.com/As-a-computer-science-student-what-can-I-learn-right-now-in-just-10-minutes-that-could-be-useful-for-the-rest-of-my-life 问:作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后站撸不哭的?我知道这个问题和 What can I learn/know right now in 10 minutes that w

第10周学习总结

20145339顿珠达杰 Java第10周学习总结 教材学习内容总结 网络编程 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 计算机网络 路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. 共享 网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机. IP地址 对于网络编程来说,最主要的是计算机和计算机之间的通信,这样首要的问题就是如何找到网络上的计算机呢?这就需

20145317《信息安全系统设计基础》第10周学习总结1

20145317<信息安全系统设计基础>第10周学习总结1 第八章 异常控制流 异常 异常是控制流中的突变,用来响应处理器状态中的某些变化. 异常处理 异常号:一些是有处理器的设计者分配(包括被零除.缺页.存储器访问违例.断电及算数溢出)其他由操作系统内核的设计者分配(包括系统调用和来自外部I/O设备的信号). 异常号是到异常表中的索引. 异常与过程调用的区别(P482) 异常分为四类:中断.陷阱.故障和终止. 只有中断是异步发生的,其余三个是同步发生的 陷阱最重要的用途是在用户程序和内核之间

20145310 《Java程序设计》第10周学习总结

20145310 <Java程序设计>第10周学习总结 教材学习内容总结 网络概述 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可. 网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址.在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数