SQL server 复习一

第一天

下面我们从最基础的开始:

在运行里面输入:services.msc

 

一、启动服务

 

 

 

二、数据库登录的两种身份验证方式

另外一种身份验证方式就是SQL Server身份验证.

sa不能使用的时候可以这样的操作:

1.用windows登录,然后在“实例”右键“属性”,“安全性”,设置“服务器身份验证方式”

为“SQl Server和windows混合”,点击确定。“重启服务”.

2.启用sa账号。用windows连接好数据库后,点击“安全性”,→“登录名”→右键“sa”属性,→状态→启用,启用后,再找到“常规”选项卡,修改sa的密码。

 

实例

 

启用sa账号

 

相关的登录操作已经介绍完了,接下来开始进入实战

1.创建数据库:

 

三、创建数据库

怎么样建一张表呢?

 

四、新建表

 

 

五、如何设定自动编号

 

六、修改创建好的表

 

七、给表中添加数据

 

八、数据库中的常用数据类型

上图中列举的是常用的数据库当中的数据类型。

下面分别介绍一下。

有的时候图片信息是存储在数据库里面的,这个时候就要用二进制image类型。

 

char(10)存的多了不行,如11个,但是少了是可以的。占得空间是固定的。

nchar(10)  性别存储建议用它

char、nchar凡是   前面不带var的都表示固定长度。

 

varchar、nvarchar则表示可变长度,长度是可变的。

varchar(10); 2,实际存储的时候,会根据实际的数据来动态的计算长度,

对于超出预先声明的长度则会报错,如果不够的,则重新计算,按实际长度来算。

地址一般用可变长度。

 

nchar(10)

char(10)和nchar(10)的区别:

char(10) 'aaaaaaaaaa','找找找找找'  占10个字节

nchar(10) 'aaaaaaaaaa','找找找找找找找找找找'  ,占20个字节

什么时候用带n的呢?系统用的是带中文的信息,用char就行了。

但是如果我们要在英文的操作系统下执行,还是建议使用带n的。

 

 

它们的最大值:varchar(8000)

              char(8000) 

 

              nvarchar(4000)

              nchar(4000)

 

varchar(10)

nvarchar(10)

varchar(max)文章的内容非常的长时用。

nvarchar(max)

 

SQL2005以后,不建议使用这个。

text

ntext

 

数据库的分离和附加

 

九、分离

 

十、分离2

 

十一、附加

 

十二、附加2

   自动编号永远是勇往直前的,不会后退的。

下面介绍用代码的方式创建数据库

 

 

十三、新建数据库

    

十四、创建数据库的代码

接下来时创建表:

 

十五、在数据库中创建表

 

十六、go语句

如果我想把我的数据库的脚本拷给我的同事,但是他的现在使用的是SQL2005版本,我用的是SQL2008版本,此时就不能用分离,附加了.请看下面的步骤:

 

十七、生成脚本步骤一

 选择下一步

选择:编写整个数据库的所有的脚本。

 

十八、生成脚本步骤二

当然这里面还有一些我们可以选择的项。在这不一一叙述了。

关于附加这块可能会遇到些小问题,有问题的朋友可以向我提问?

 

Ctrl+K+C注释;

Ctrl+K+U取消注释;

 

结果试图可以用ctrl+R

 

十九、如何查看表中的数据

下面介绍插入数据的几种形式。

 

二十、插入数据

  这里除去自动编号,不需要人工插入的那些列。

 

二十一、插入不为空的数据

 

二十二、转译了

  不能为空的列必须插入数据,否则的话会报错的。

 

二十三、插入自动编号

 

二十四、插入多行数据

  注意这的写法,union在后面详细介绍。

 

二十五、把现用表中的数据导出到一个新表

 

二十六、创建一张表,与源表的结构一样,但是不含数据

 

新增内容

 

新增建议

二十七、向已有表中插入数据

 

二十八、插入中文,前面加N

下面介绍更新的常用方法:

 

二十九、更新一列

 

三十、同时更新多列数据

先来说一下这个。

 

三十一、限定条件查询行

 

三十二、限定列和行查询

 

三十三、同时更新指定行和指定的列

  注意在更新之前先要备份一下,否则会出现令人麻烦的事情。可以做个备份,还原。

 

三十四、同时限定更新符合两列条件。

  同时注意下数据库当中逻辑运算符not and or 的使用;优先级:not and or

 

三十五、把所有的年龄都加1

  在数据库中写加1还是写成图中的形式比较的好。永远这么写,换个地方可能就不能用了。小括号可以改变优先级。

  下面介绍下删除数据的两种方式:

 

三十六、删除指定的数据

 

三十七、两种删除语句及其区别

  图中注释部分是它们之间的区别。

下面介绍下关于约束的一些知识:

建约束以前先把之前的数据都删掉,因为之前的数据都是不合法的。

 

三十八、建约束第一步

 

三十九、建约束第二步

 

四十、建约束第三步

点击:表达式

输入约束条件

点击:确定

 

 

四十一、约束执行

 

四十二、再设定其它的一些约束

 

四十三、约束获取当前数据库时间

除检查约束外的其它的形式:

默认约束:

 

四十四、修改默认值

唯一约束

 

四十五、唯一约束,如身份证号码不能一样

四十六、填好唯一约束的内容

如果我在输入数据的时候,输入的部门是30,而部门表中没有30这个部门。这个时候,我需要设定外键。

外键约束:

 

四十七、建立外键约束

 

四十八、外键关系设定

点下:表和列规范

设定好主键表 外键表  以及相关联的ID,注意要一样

点击确定自动生成标识,名称

 

 

四十九、设定好的主外键

  从图中我们清晰的看到,主键为黄色,外键为灰色。

  没有被外键引用的表可以删掉,而被引用的不能删掉。

  由于建立了主外建关系会引起一系列的麻烦,所以,一般我们不建。但是,我们通过程序来维护主外建关系。

 

五十、删除主外建约束前奏

 

 

五十一、删除主外建约束一

 

五十二、删除主外建约束二-级联删除

 

第二天:

数据库对我们现在工作中的朋友的帮助是相当大的,在大数据处理的时候,可以让我们方面的查询,管理数据。

  尤其是当下的电商行业,都是在网络上面进行销售,所以,数据库更加彰显出其魅力。

比如,我在指南针的几年里面,当然是公司设计好的数据库让我们用。对于客户的查询,处理等问题,包括对自己管辖范围内的客户的管理。基本上都是通过数据库来完成的。所以,经常的会用到一些基本的查询,更新,删除等等语句。

  在这里我也为大家整理了相关的资料,希望大家喜欢。

 

一、新建两张表

 

二、手动删除一列

 

三、手动增加一列

 

四、增加一个非空列

 

五、修改列

  下面我们看看数据库中增加约束和删除约束的相关案例:

 

六、增加一个主键约束

 

七、增加一个非空约束

 

八、增加一个唯一约束

 

九、为性别增加一个默认约束

 

十、为性别增加一个检查约束

 

十一、为年龄增加一个检查约束

 

十二、增加一个外键约束

 

十三、增加级联删除,更新

 

十四、删除某个名字的约束

 

十五、一条语句删除多个约束

 

十六、用一条语句为表增加多条约束


下面看下数据的检索:

 

十七、查询学生表

 

十八、这列是干什么的呢?

  图中画圈的部分是干什么的呢?比如,我在中国移动办了个手机号,现在注销了。那么,在中国移动的数据库中我的数据就真的删了么?很多时候,并没有删。对于用户来讲,是删了,只是中国移动做了个标记。就是用户下次再登陆的时候登陆不进去了,但是,并没有删。在记录里面用0和1表示,这个我们一般叫做“软删除”。一般0表示false没有删,1表示true删了。

 

我只想看其中的三列,这么写,见下图:

 

十九、只看其中三列的信息

  上图中直接显示英文,对于用户来讲不是特别的友好,我现在需要显示它们的中文信息。也就是给列起别名。怎么给列起别名呢?

 

二十、起别名

 

二十一、起别名的第2,3种写法

 

二十二、显示自定义查询结果

 

二十三、基本检索

 

二十四、top

 

二十五、查看前十行且只有姓名

 

二十六、返回前百分之十

现在数据库里面就有11条数据,返回百分之十,是多少条呢?

答案是:2条。

 

二十七、排序

 

二十八、distinct

如果有三列,看三列当中这个的数据有没有重复,有的话,就会去掉重复。

影响表中数据么?根本不影响。

 

下面我看来看看数据库当中五个常用的聚合函数:

当我们在工作中有什么不会的了,可以点开帮助-索引,输入:聚合函数。

 

二十九、五种常用聚合函数

下面我们看下带条件查询:

 

三十、带条件查询1

 

三十一、带条件查询2  in的用法

接下来我们看下带条件查询-模糊查询

 

三十二、like查询 %

 

三十三、like查询 _

 

三十四、like查询 [  ]

^ 是非的意思,跟正则表达式中一样。

 

三十五、like查询 ^

下面我们看下数据库中的Null值处理

请你查出年龄不为空的所有人得年龄,怎么查呢?

 

三十六、null就是unknow的意思

  系统没办法识别了,就是比如20不等于不知道。怎么比啊?返回的也是个unknow,在where后面就是个false,所以没有任何的查询记录。

  没法用<> 和 = 进行比较,那么我们怎么写呢?

 

三十七、这么写null判断

 

三十八、空值的替换

  设计器上面要插入个空值的话,得写大写的N,Null。要是什么都没写,不行的,那是个字符串为0的字符串。要是写的小写的null,是字符串为null的字符串。这是我们需要小注意的地方。

下面我们再看下order by语句:

一般都是写在查询语句的最后的。

 

三十九、按多列的条件进行排序

 

四十、按表达式排序

一旦有了order by以后这个表就不是集合了。现在只提一下这个概念。

 

接下来我们看下数据分组:

  首先,我们提出几个问题。什么时候才会遇到这个分组情况呢?分组是个什么东西呢?

  比如根据籍贯分组,根据男女分组。

  Group by在数据汇总统计的时候用,一般和聚合函数一起来用。如果不分组就用聚合函数的话,它是把组里面所有的信息当成了一组来统计。

  要是分组了再用聚合函数的话,统计的是每一组的信息。

 

四十一、按照班级分组

 

四十二、分组后查询每个组里面有多少个人

  现在想看看组中数据大于3的,如果要想对分组再进行筛选,我们用的是having。

 

四十三、对分组以后再筛选用having

 

四十四、分组判断的时候需要注意的情况

 

四十五、分组判断的时候需要注意的情况二

  Select 这块哪些列能写?哪些列不能写呢?group by中包含的列和聚合函数都能写,其它的不能写。

  为什么呢?还是思考那个问题,当分完组以后,就都是组当中的信息了。在分组之前对数据的筛选用where,它们两个是不能混用的。

四十六、简单的SQL语句执行顺序

  了解SQL语句的执行顺序能知道哪用别名?对于理解SQL语句的命令也是有好处的。当然,这里列出的是简单的SQL语句执行顺序。

 

四十七、Group By练习

下面我看来看下函数的类型转换:

 

四十八、数据类型转换的两种写法

 什么情况下会遇到数据类型的转换呢?

 

四十九、实际问题中遇到的数据类型转换一

如果不转换的话,将按照字符进行排序。而不是两起来的两个或多个数字进行排序。

 

五十、实际问题中遇到的数据类型转换二

  在日期转换的时候用convert就行了,120是不同数据库中时间的类型。

接下来我们看下联合结果集union(集合运算符)

 

五十一、union

  这里有个需要注意的地方,每列当中相对应的数据类型必须得一样。调一下位置是不行的。要想能联合的话,必须得保证每个列的数量相同,数据类型相同。

 

五十二、联合中有一列为空的时候

  最后查询的结果集是以第一个的列名命名的。

但从姓名和性别看的话,有几条是一样的数据。Union可以去除重复数据,如果不想去除的话,后面加个all

 

五十三、union all

那么union all在什么时候用呢?

常见应用:底部汇总。

 

五十四、年龄汇总

 

五十五、成绩汇总

  下面我们看看字符串函数:

  这块的学习,使用还是要多借鉴微软的帮助。

 

五十六、字符串函数

  自己可以看看replace,stuff这两个函数怎么用。

再下来我们看看日期函数:

  日期函数还是,我们可以在数据库当中的帮助里面输入:日期和时间

 

五十七、在当前时间增加时间

 

五十八、计算两个时间的差

 

五十九、datediff具体的应用

 

六十、获取时间的某个部分

下面这个案例对做电销工作的朋友非常的实用:

 

创建一张表,记录电话呼叫员的工作流水,记录呼叫员编号、对方号码、通话开始时间、通话结束时间。建表、插数据等最后都自己写SQL语句。 要求:输出所有数据中通话时间最长的5条记录。orderby datediff 输出所有数据中拨打长途号码(对方号码以0开头)的总时长。like、sum 输出本月通话总时长最多的前三个呼叫员的编号。 输出本月拨打电话次数最多的前三个呼叫员的编号.group by,count(*)

 

CREATE TABLE [CallRecords]
([Id] [int] NOT NULL identity(1,1),[CallerNumber] [nvarchar](50), --三位数字,呼叫中心员工编号(工号)[TelNum] [varchar](50),[StartDateTime] [datetime] NULL,[EndDateTime] [datetime] NULL  --结束时间要大于开始时间,默认当前时间
)--主键约束
alter table [CallRecords]
add constraint PK_CallRecords primary key(id)--检查约束
alter table [CallRecords]
add constraint CK_CallRecords check(CallerNumber like[0-9][0-9][0-9]’)   \d{3}错误!!alter table [CallRecords]
add constraint CK_CallRecords_EndDateTime check(EndDateTime > StartDateTime)--默认约束
alter table [CallRecords]
add constraint DF_CallRecords default(getdate()) for EndDateTimeINSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('001', '0208888888', CAST(0x00009DAF00A4CB80 AS DateTime), CAST(0x00009DAF00A62E94 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('001', '0208888888', CAST(0x00009DB000D63BC0 AS DateTime), CAST(0x00009DB000D68DC8 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('001', '89898989', CAST(0x00009DB000E85C60 AS DateTime), CAST(0x00009DB000E92F50 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('002', '98987676', CAST(0x00009DB2015BB7A0 AS DateTime), CAST(0x00009DB2015C4DA0 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('002', '02188839389', CAST(0x00009DA4014C9C70 AS DateTime), CAST(0x00009DA4014E0308 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('001', '767676766', CAST(0x00009DB400DAA0C0 AS DateTime), CAST(0x00009DB400DD5FE0 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('003', '0227864656', CAST(0x00009DB200B9AB40 AS DateTime), CAST(0x00009DB200B9FC1C AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('003', '676765777', CAST(0x00009DB8014042B8 AS DateTime), CAST(0x00009DB80141804C AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('001', '89977653', CAST(0x00009D9A00FB9898 AS DateTime), CAST(0x00009D9A00FE6118 AS DateTime));
INSERT [dbo].[CallRecords] ([CallerNumber], [TelNum], [StartDateTime], [EndDateTime]) VALUES ('004', '400400400', CAST(0x00009D9A00FB9898 AS DateTime), CAST(0x00009D9A00FE6118 AS DateTime));

 

六十一、通话第一小题

  思路:看到通话时长最长的,先求通话时长;最长-倒排序;前五条-top 5

 

六十二、通话时长第二小题

 

六十三、通话时长第三小题

 

六十四、通话时长第四小题

最后一个小题,暂时不公布答案,留个做思考。

 

转载于:https://www.cnblogs.com/zxh930508/p/4189648.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[分享]iOS开发-实现view底部控件随着键盘的弹出而上移的效果

首先说一下思路&#xff1a;想要达到底部控件随着键盘的弹出而上移的效果&#xff0c;那么我们必然需要的到键盘在弹出时的高度&#xff0c;以及原点坐标。说白了我们的大致思路就是&#xff0c;用view的高度&#xff0d;键盘弹出时的高度&#xff0c;得到的值就是底部控件与vi…

深度学习修炼(二)——数据集的加载

文章目录致谢2 数据集的加载2.1 框架数据集的加载2.2 自定义数据集2.3 准备数据以进行数据加载器训练致谢 Pytorch自带数据集介绍_godblesstao的博客-CSDN博客_pytorch自带数据集 2 数据集的加载 与sklearn中的datasets自带数据集类似&#xff0c;pytorch框架也为我们提供了数…

Css3之基础-5 Css 背景、渐变属性

一、CSS 背景概述背景属性的作用- 背景样式可以控制 HTML 元素的背景颜色、背景图像等 - 背景色- 设置单一的颜色作为背景- 背景图像- 以图片作为背景- 可以设置图像的位置、平铺、尺寸等二、CSS 背景属性背景色 background-color - 属性用于为元素设置背景色- 接受任何合法的颜…

机器学习的练功方式(十)——岭回归

文章目录十 岭回归10.1 岭回归的接口10.2 岭回归处理房价预测十 岭回归 岭回归是线性回归的改进&#xff0c;有时候迫不得已我们的参数确实不能少&#xff0c;这时候过拟合的现象就可能发生。为了避免过拟合现象的发生&#xff0c;既然不能从减少参数上面下手&#xff0c;那我…

OpenCV修养(一)——引入

文章目录1 引入1.1 OpenCV是啥1.2 OpenCV——Python1 引入 1.1 OpenCV是啥 OpenCV是一个基于Apache2.0许可&#xff08;开源&#xff09;发行的跨平台计算机视觉计算机视觉和机器学习软件库&#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高…

被解放的姜戈08 远走高飞

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 转载请先与我联系。 之前在单机上实现了一个Django服务器&#xff08;被解放的姜戈07 马不停蹄&#xff09;&#xff0c;现在我们可以把这个服务器推上一个云平台。这里我选择使用阿里云。 看着复仇的火焰…

OpenCV修养(二)——OpenCV基本操作

文章目录2 OpenCV基本操作2.1 IO操作2.2 图像基本操作2.2.1 图像绘制2.2.1.1 绘制直线2.2.1.2 绘制圆形2.2.1.3 绘制矩形2.2.1.4 添加文字2.2.1.5 试手2.2.2 获取/修改图像的像素点2.2.3 获取图像属性2.2.4 图像通道拆分/合并2.2.5 色彩空间改变2.2.6 边界填充2.3图像算数操作2…

ylbtech-LanguageSamples-Porperties(属性)

ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Porperties(属性)1.A&#xff0c;示例(Sample) 返回顶部“属性”示例 本示例演示属性为何是 C# 编程语言必不可少的一个组成部分。它演示了如何声明和使用属性。有关更多信息&#xff0c;请参见属性&#xff08;C# 编…

Altium Designer敷铜的规则设定

InPolygon 这个词是铺铜对其他网络的设置,铺铜要离其他网络远点,因为腐蚀不干净会对 电路板有影响... 问题一:: 如下图所示&#xff0c;现在想让敷铜与板子边界也就是keepoutlayer的间距小一点&#xff0c;比如0.2MM。而与走线的间距比较大&#xff0c;比如0.8mm。要怎么设置规…

OpenCV修养(三)——图像处理(上)

文章目录致谢3 图像处理&#xff08;上&#xff09;3.1 几何变换3.1.1 图像缩放3.1.2 图像平移3.1.3 图像旋转3.1.4 仿射变换3.2 图像阈值3.3 图像平滑3.3.1 图像噪声3.3.1.1 椒盐噪声3.3.1.2 高斯噪声3.3.2 均值滤波3.3.3 方框滤波3.3.4 高斯滤波3.3.5 中值滤波3.3.6 小结3.4 …

机器学习的练功方式(十一)——逻辑回归

文章目录致谢11 逻辑回归11.1 引入11.2 激活函数11.3 损失函数11.4 梯度下降11.5 案例&#xff1a;癌症分类预测致谢 逻辑回归为什么用Sigmoid&#xff1f; - 知乎 (zhihu.com) 逻辑回归中的损失函数的解释_yidiLi的博客-CSDN博客_逻辑回归损失函数 11 逻辑回归 逻辑回归也被称…

【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈

【百度地图API】如何制作一张魔兽地图&#xff01;&#xff01;——CS地图也可以&#xff0c;哈哈哈 原文:【百度地图API】如何制作一张魔兽地图&#xff01;&#xff01;——CS地图也可以&#xff0c;哈哈哈摘要&#xff1a; 你玩魔兽不&#xff1f;你知道如何做一张魔兽地图不…

linux系统分两种更普遍的包,rpm和tar,这两种安装包如何解压与安装

2019独角兽企业重金招聘Python工程师标准>>> RPM软件包管理器&#xff1a;一种用于互联网下载包的打包及安装工具&#xff0c;它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。rpm -ivh xxxx.rpm <-安装rpm包 -i install的意思 -v view 查看更详细的…

C++类的数组元素查找最大值问题

找出一个整型数组中的元素的最大值。 1 /*找出一个整型数组中的元素的最大值。*/2 3 #include <iostream>4 using namespace std;5 6 class ArrayMax //创建一个类7 {8 public :9 void set_value(); 10 void max_value(); 11 void sh…

C++从0到1的入门级教学(二)——数据类型

文章目录2 数据类型2.1 简单变量2.2 基本数据类型2.2.1 整型2.2.2 实型&#xff08;浮点型&#xff09;2.2.3 字符型2.2.4 布尔类型2.3 sizeof关键字2.4 类型转换2.5 转义字符2.6 重新谈及变量2.6.1 字面值常量2.6.2 变量2.6.3 列表初始化2.7 数据的输入2 数据类型 2.1 简单变…

深度学习修炼(三)——自动求导机制

文章目录致谢3 自动求导机制3.1 传播机制与计算图3.1.1 前向传播3.1.2 反向传播3.2 自动求导3.3 再来做一次3.4 线性回归3.4.1 回归3.4.2 线性回归的基本元素3.4.3 线性模型3.4.4 线性回归的实现3.4.4.1 获取数据集3.4.4.2 模型搭建3.4.4.3 损失函数3.4.4.4 训练模型3.5 后记致…

深度学习修炼(四)——补充知识

文章目录致谢4 补充知识4.1 微积分4.1.1 导数和微分4.1.2 偏导数4.1.3 梯度4.1.4 链式求导4.2 Hub模块致谢 导数与微分到底有什么区别&#xff1f; - 知乎 (zhihu.com) 4 补充知识 在这一小节的学习中&#xff0c;我们会对上一小节的知识点做一个补充&#xff0c;并且拓展一个…

java使用POI jar包读写xls文件

主要使用poi jar来操作excel文件。代码中用到的数据库表信息见ORACLE之表。使用public ArrayList<Person> getPersonAllRecords()获得所有的记录。 1 public class PersonXLS {2 3 public static void main(String[] args) throws IOException {4 5 …

深度学习修炼(五)——基于pytorch神经网络模型进行气温预测

文章目录5 基于pytorch神经网络模型进行气温预测5.1 实现前的知识补充5.1.1 神经网络的表示5.1.2 隐藏层5.1.3 线性模型出错5.1.4 在网络中加入隐藏层5.1.5 激活函数5.1.6 小批量随机梯度下降5.2 实现的过程5.2.1 预处理5.2.2 搭建网络模型5.3 简化实现5.4 评估模型5 基于pytor…

Android 应用程序集成FaceBook 登录及二次封装

1、首先在Facebook 开发者平台注册一个账号 https://developers.facebook.com/ 开发者后台 https://developers.facebook.com/apps 2、创建账号并且获得 APP ID 图一 图二 图三 图四 图五 3、获取app签名的Key Hashes 值&#xff08;两种方式&#xff09; 3.1方法1&#xff1…