中企动力 > 商学院 > sql数据库导出excel
  • ?

    入职数据分析师:200万条数据+SQL+Python+Excel+PPT+……

    Suo

    展开

    看下三个级别数据分析师的岗位说明

    (1)1年以下数据分析师:

    (2)1-3年的数据分析师:

    (3)3-5年的数据分析师:

    这三个岗位需求都是来自3家互联网公司,公司产品不同,但是要求相同,从简历上可以看出:

    (1)入职<数据分析师>的技术门槛:

    ① 熟练使用SQL 进行数据查询与处理;

    ② 使用Python、R语言、SPSS、Excel等数据分析工具;

    ③ 可视化工具:Tableau、Power BI 、Python、R语言等可视化工具;

    (2)入职<数据分析师>的个人能力门槛:

    个人基础能力:有数据敏感度、逻辑思维能力、学习能力、沟通能力、团队合作能力;

    工作内容:深度理解业务,发觉业务细节和数据之间的联系及问题。

    从对专业的要求,可以看出对专业要求不高,是相关性专业即可,数据分析师职业本身要求具备多方面能力,不仅仅在技术领域需要过线,还需要从业务视角分析数据,所以要深度理解业务,通过数据分析师验证推断以及给运营、产品、市场提供有力支持决策。

    所以学习数据分析,不仅仅是工具的学习,还需要业务的支持,更不是纸上谈兵的学习,需要对数据库进行真实的操作,以及分析真实的数据。目前因为互联网公司对数据分析师的需求增加,让传统企业的数据分析师升级到互联网公司,在这个过程中,传统数据分析师具备的优势是业务的理解,Excel的应用,基本上都是从系统导出的数据,数据量不大,但进入互联网公司,就需要对SQL的学习方便数据查询处理,需要学习用Python,因为Excel数据处理万级数据的局限性,所以要重新升级学习。

    针对数据分析培训

    <爱数据学院>

    发布了数据分析师就业班课程:

    课程特点

    ① 搭建真是的数据库操作

    ② 百万条数据真实分析

    ③ 理论:应用统计学+数据分析师业务知识

    ④ 职场辅导:由数据领域猎头团队负责人提供职业生涯发展建议

    ⑤ 实战作业+实时答疑+直播+录播课程可以复看

    我们的目的就是非纸上谈兵的学习,让学员知道什么是真实的数据分析师,实现从0到1的过程。

  • ?

    excel如何把想要的数据导出来到另一张表格里?

    丁新之

    展开

    1.如下是一个Excel工作薄中的两张表,分别为Sheet1和Sheet2,下面分别以表1和表2来代替。我们要把表2中的语文成绩导入到表1中,但是从图中可以看出表1和表2名字并不一一对应

    2.选中表1,选中C2单元格,即语文项目中第一个要录入的成绩。选择“插入—函数”命令

    3.在“或选择类别”中选择“查找与引用”

    4.在对应的“选择函数”中选择“VLOOKUP”,点击确定

    5.在出现的“函数参数”面板点击第一个选项箭头处的按钮

    6.点击“张三”名字,即“A2”单元格,表示我们要查找“张三”的成绩,点击上面的按钮回到面板上

    7.点击第二个选项箭头处的按钮

    8.选中表2,同时选择A列和B列,然后点击上面的按钮

    9.因为在表2中语文成绩在第二列,所以第三项我们填入数字“2”

    10.第四项我们直接填入“0”即可,点击确定

    11.看到表1中张三的语文成绩出现了数值,该数值与表2相同

    12.选中C2单元格,用填充柄下拉,所有的语文成绩就从表2填入表1中去了

    (本文内容由百度知道网友茗童贡献)

  • ?

    excel办公小技巧:vba使用sql语句获取excel表格数据教程

    慕容淇

    展开

    在excel办公中,用VBA加上SQL语句实现对excel表格的数据获取,对于处理一些大数据量的表格来说是非常实用的。SQL是结构化查询语言,是数据库开发中用的程序设计语言,数据库里的数据表跟EXCEL里的表格其实是很类似的,所以用VBA加SQL语句可以实现类似的表格查询操作。

    举个例子:在EXCEL里用VBA+SQL来查询总成绩大于290分的学生

    一、手工操作的步骤是:

    1、 EXCEL打开如下表格,点击插入-数据透视图,点击创建数据透视图

    2、 在出现的数据透视图界面,点击姓名为行标签,点击成绩为求和项字段

    3、 在左侧的出现的行标签和求和项表格数据进行排序,手工选出成绩大于290分的记录。

    用上面的数据透视图方法很方便,步骤也少,比分类汇总功能要简便些。

    二、VBA加上SQL语句实现EXCEL表格数据的查询

    1、 先用EXCEL打开表格,调出VBE工程界面(ALT+F11),建议在个人工作簿新建个模块,把代码输入到右侧的区域。注:用个人工作簿的好处是,每次启动EXCEL不用手动启用宏。

    2、 根据自己的表格字段和功能需求,修改好SQL代码后,保存按F5快捷键运行。注:SQL语句中表名要用[表名$]这种写法。

    以上是在EXCEL用VBA加SQL语句实现对表格的自动查询,调用的方法是按ALT+F8,选择相应的代码名称,这里的名称是SQL查询。用这种方法对于规则不经常变动的情况下使用很实用,特别是在数据量大的情况下。

    附上截图代码

    Sub SQL查询()

    Dim cnn As Object, rs As Object, SQL As String

    Set cnn = CreateObject("adodb.connection") '创建数据库连接

    cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ActiveWorkbook.FullName

    Set rs = CreateObject("adodb.recordset") '创建一个数据集

    SQL = "select 姓名,sum(成绩) from [原始数据$] group by 姓名 HAVING sum(成绩)>290" '设置SQL查询语句,这个根据实际需要改写,注意【表名$】这种写法

    Set rs = cnn.Execute(SQL) '执行查询

    ActiveWorkbook.Worksheets(2).Cells.ClearContents

    Dim i As Integer

    For i = 1 To rs.Fields.Count

    ActiveWorkbook.Worksheets(2).Cells(1, i) = rs.Fields(i - 1).Name '填写标题到表2

    Next

    ActiveWorkbook.Worksheets(2).Range("a2").CopyFromRecordset rs '复制记录集到表2

    rs.Close

    Set rs = Nothing

    cnn.Close

    Set cnn = Nothing

    End Sub

    对于EXCEL2007版本的电子表格,以上的cnn.Open后的字符串要改成"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES"";"""

  • ?

    Excel催化剂生成完全组合笛卡尔积结果表,数据库技术落地Excel

    幼旋

    展开

    在数据库的多表查询中,通常会有各种连接关系,同样地在Excel环境中,也有很大的场景需要用到类似数据库的多表查询,如经典的VLOOKUP就是其中一种类似LEFT JOIN查询的查询效果。在很多时候需要生成一个完全数据组合时,也是需要用到数据库的笛卡尔积查询表的原理,让两个表产生任意的完全组合,此次Excel催化剂同样将非常有价值的数据库技术,搬到Excel环境中供普通用户无需掌握任何数据库查询知识,轻松一键完成所要的数据结果。

    笛卡尔积查询表是什么?

    简单说就是两个表的两两组合,产生不重复的记录集,如A表有10行,B表有20行,两两组合出来的结果为200行,A表的第1行与B表关联,产生20条记录,A表总共10行数据,所以总共产生了20*10=200行数据。

    一般来说多表查询时,会对笛卡尔积查询表返回的结果进行筛选,如VLOOKUP的效果就是筛选出源表中LookupValue与查询表的查找列对应的某一行记录值相同的行,而不是返回所有查找表的行,所以一般笛卡尔积查询表会产生大量的数据,因其未经条件去筛选交叉后的结果表。

    使用场景

    很常见的一个场景,某一堆商品款号,想生成一份它所有尺码的数据表,用于关联后续其他的销售指标、库存指标等,防止因销售指标数据或库存指标数据某些数据缺失而遗漏掉部分数据,致使计算类似销售动销率、库存周转率等指标时,未能生成预期正确的结果。

    原有数据

    最终想要的数据结构

    其实两两组合,不局限说只有一列的数据表,可以有多列的。甚至多个表也能胜任,所有操作都是一键完成。

    原有数据

    多个表两两组合结果

    具体操作

    构造好需要生成结果表的数据源

    需要每个表有表头列标题,中间不断行等最基本的标准数据源结构表格要求。多个表之间列标题名不重复。

    点击生成按钮即可完成。

    只需简单一键,即可完成数据库管理员写一大堆SQL语句才能得到的结果,并且只需依赖于Excel的数据环境!

    结果表生成

    总结

    无数次听到外行人动不动就说颠覆Excel、取代Excel,说这样话的人,甚至连说话的资格都没有,连Excel是什么物种都不知道,只按自己认为的Excel是什么就作一些哇纵取宠吓人的结论,实在只能显示出自己的无知。

    Excel催化剂,致力于让Excel更伟大、更强大,让更多人可以享受到数据领域的各样技术的红利,数据库技术是一个非常棒的技术,Excel是一个非常棒的用户端使用软件,两者结合,借助Excel催化剂的作用,威力无穷。

  • ?

    雨沐田:数据分析之数据库与Excel的区别

    Gerona

    展开

    搞技术的童鞋或高手请直接路过.....

    作为一个合格的数据分析师,Excel是必备工具,但仅Excel还不够,数据量的激增和复杂性提高,以及数据平台话的趋势,要求我们必须要了解并熟练掌握数据库的操作,但在学习数据库操作前,先全面对比下数据库和Excel

    Excel不用多说,地球人都知道是干神马的,而且零门槛使用;数据库相信很多人也听过或用过,但对于非技术的童鞋们,可能还是还有不太清楚2到底有什么区别,今天就来捋一捋它们的区别。

    一、相同点

    都是用来处理数据的工具,而且特别擅长处理一维二维表形式的数据。在工作中都很常用。

    二、不同点

    1、Excel是一个具体的工具,而数据库是个大的概念,具体的产品很多,常见的有MS SQL Server、MySql,Oracle等,分属于不同的公司。

    2、Excel是由sheet组成的,可以有多个sheet;数据库由表组成,可以有多个表。

    3、Excel更适合较为少量的数据,虽然高版本的Excel理论上一个sheet 可以存放几十万行的数据,但要是真存放了那么多,可以想想打开的速度; 而数据库可以存放大批量的数据,一个表随随便便存个几十万是一点问题没有的,上百万千万也是很常见。

    4、Excel的多个sheet之间不能设计复杂的数据关系,而数据库的的表之间可以有复杂的关系,这也是数据库的最大特点,关系型数据库的名字由此而来。

    5、Excel不能共享,而数据库可以轻松共享,如我们每天看到的各种网站信息都是数据库信息被共享的实例。

    6、能力方面,Excel可以实现的数据处理功能数据库都可以做到,同时又具备很多Excel没有的功能,如SQL查询、数据聚合、数据索引等等。

    7、安全方面,Excel作为一个办公软件,其安全性可想而知,没有太多的安全性功能,而数据库库则不同,有着复杂的安全机制和权限验证,也有非常完善的数据备份机制,能最大限度的保证数据的安全。

    其实罗列太多也意义不大,只要说清了两者的主要区别即可,总结就是在使用定位、功能性、共享性、安全性4个方面的区别。

    2者各有所长,各有适合的使用场景,但千万不要取2选1,了解他们的不同是为了更好的使用他们,实际工作中这两种工具都是离不开的。

    具体哪些数据库是那些公司的,可以自行度娘一下,主要了解清楚数据库的结构特点和存储数据的方式即可,对数据分析师来说,最关键的是提取使用数据。之后的文章再说如何通过SQL语句读取数据。

    关注公号「大数据分析狮」,免费获取百本大数据分析电子书!

  • ?

    数据库之SQL经典面试题-行列转换二-列转行

    Wendell

    展开

    本帖子是行转列的一个逆向操作——列转行,看下面一个面试题

    面试题2:柠檬班第30期学生要毕业了,他们的Linux、MySQL、Java成绩数据表 tb_lemon_grade_column中,表中字段student_name,Linux,MySQL,Java分别表示学生姓名、Linux成绩、MySQL成绩、Java成绩,数据图1所示。请写出一条SQL,将图1的数据变成图2的形式(列转行)

    下图示:

    1:使用上节课学的知识,获得以列的形式展示的成绩数据(行转列)

    SELECT student_name,SUM(CASE COURSE when'Linux'THEN SCORE ELSE0END) as'Linux',SUM(CASE COURSE when'MySQL'THEN SCORE ELSE0END) as'MySQL',SUM(CASE COURSE when'Java'THEN SCORE ELSE0END) as'Java'FROM tb_lemon_grade

    结果如下:

    2:使用导出功能,将数据导入到Excel

    点击下一步,选择保存位置,输入保存的文件名

    点击下一步,点击开始,讲数据导入到本地

    3:使用导入功能,将导出的Excel表导入到数据库

    选择表,点击右键选择导入向导

    选择Excel文件,点击下一步,选择刚才保存的Excel文件,输入要保存的表,进行导入

    4:导入完成,就生成了一个表,查看下数据

    5:上面是使用导入本地文件的方式新建了一个表,并且把文件的数据也导入进来了,

    如果是数据本身已经存在数据库中,我们还有更简单的方法,使用的是创建表的CREATE TABLE语法,可以新建表,并且把结果集的数据也会初始化到新建表中,如下所示:

    CREATE TABLE new_tables(SELECT student_name,MAX(IF(COURSE = 'Linux',SCORE,0)) 'Linux',MAX(IF(COURSE = 'MySQL',SCORE,0)) 'MySQL',MAX(IF(COURSE = 'Java',SCORE,0)) 'Java'FROM tb_lemon_grade

    6:怎么列传行呢?使用UNION ALL,然后行转列

    SELECT student_name,'linux' course,linux scoreFROM tb_lemon_student2

    7:我们想排下序怎么办呢? 采用子查询的方式(注意子查询中的别名a,一定要写上别名)

    SELECT student_name,'linux' course,linux scorefrom tb_lemon_student2

    今天就分享到这里了。如果大家觉得还不错,就点个赞吧!!!!

  • ?

    Excel同样可以操作MySQL中的数据,这里有完整教程

    加非妃

    展开

    作为同门的数据库产品,Excel操作Access、SQLServer中的数据非常简单。但如果想在Excel中处理MySQL中的数据呢?MySQL是和php珠联璧合的一个数据库,网站开发中经常用到,如果Excel也能访问它就会给工作带来很多方便。

    例如,MySQL数据库中的用户登录数据表,有时希望在Excel中对该表进行一些分析:

    操作步骤如下:

    一、到mysql官网下载odbc连接驱动

    下载地址为:https://dev.mysql/downloads/connector/odbc/

    可下载的驱动程序共有4个文件,请根据自身情况选择下载。例如,我们现在使用的是64位的win7系统,那么就下载安装64位的驱动:

    32位和64位的驱动又分别包含2个文件,一个是安装包,一个是压缩包。一般选择下载msi安装即可。

    选择文件下载时,将弹出登录页面;如果不需要登录,可点击“No thanks, just start my download.”直接进入下载。

    安装驱动的过程中,有可能会出现这样的错误提示:

    如果使用压缩包安装,则会直接提示缺少“msvcr120.dll”的错误。

    这两种错误其实都指向了同一个问题,最简单的解决办法就是安装Visual C++ 2013运行库。微软官方的下载地址为:

    https://microsoft/zh-cn/download/details.aspx?id=40784

    同样的,这里有32位和64位2种文件可供下载,请根据自身情况选择。

    二、创建数据源

    进入“控制面板--系统和安全--管理工具”,双击打开“数据源(ODBC)”,点击“添加”:

    点击“完成”后,接着设置要连接的mysql数据库:

    点击“ok”后即可增加该数据源:

    三、在Excel中建立连接

    打开Excel,选择“数据-自其它来源-来自数据连接向导”:

    选择“odbc dsn”:

    “下一步”后选择刚刚创建的mysql:

    然后再选择要连接的数据库及库中的数据表:

    接着再设定一个连接名称就ok啦:

    注意:mysql数据库中的表名称和表字段不能使用中文,否则将带来乱码问题。因为excel和mysql的默认编码方式不一样,处理起来会相当麻烦。

  • ?

    SQL Server数据的导入导出

    狄三毒

    展开

    SQL Server 2008的导入导出服务可以实现不同类型的数据库系统的数据转换。为了让用户可以更直观的使用导入导出服务,微软提供了导入导出向导。导入和导出向导提供了一种从源向目标复制数据的最简便的方法,可以在多种常用数据格式之间转换数据,还可以创建目标数据库和插入表。可以向下列源中复制数据或从其中复制数据:SQL Server、文本文件、Access、Excel、其他 OLE DB 访问接口。这些数据源既可用作源,又可用作目标。还可将 ADO.NET 访问接口用作源。指定源和目标后,便可选择要导入或导出的数据。 可以根据源和目标类型,设置不同的向导选项。例如,如果在 SQL Server 数据库之间复制数据,则指定要从中复制数据的表,或提供用来选择数据的 SQL 语句。

    打开SQL Server Management Studio,在对象资源管理器中,展开“SQL Server 实例”→“数据库”→“MySchool”节点,单击鼠标右键,选择“任务”→“导出数据”命令。出现导入和导出向导的欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框,如图

    在“选择数据源”对话框中设置如下选项:数据源:SQL Native Client 10.0。服务器名称:DC。身份验证:Windows身份验证。数据库:MySchool。单击“下一步”按钮,出现“选择目标”对话框,设置如下选项(如图所示):目标:平面文件目标。文件名:C:\student.txt。格式:带分隔符。

    单击“下一步”按钮,出现“指定表复制或查询”对话框,如图所示。

    在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮,出现“配置平面文件目标”对话框,如图所示。

    设置源表或源视图为MySchool.dbo.student,单击“下一步”按钮。在“保存并执行包”对话框中选中“立即执行”复选框,如图所示,然后单击“下一步”按钮。

    在如图所示的对话框中单击“完成”按钮。

    如图所示,当执行完后,单击“关闭”按钮。

    在Windows资源管理器中打开C:\student.txt文件,验证导出的结果。

    打开SQL Server Management Studio,在对象资源管理器中,展开“SQLServer 实例”→“数据库”→“Benet”节点,单击鼠标右键,选择“任务”→“导入数据”命令。出现欢迎界面,单击“下一步”按钮,出现“选择数据源”对话框。在“选择数据源”对话框中设置如下选项数据源:Microsoft Excel。Excel文件路径:C:\temp\Customer.xls。版本:Microsoft Excel 97-2005。(4)单击“下一步”按钮,出现“选择目标”对话框,设置如下选项:目标:SQL Native Client。服务器名称:TESTSQL。身份验证:Windows身份验证。数据库:Benet。

    单击“下一步”按钮,出现“指定表复制或查询”对话框。在“指定表复制或查询”对话框中选中“复制一个或多个表或视图的数据”单选按钮,单击“下一步”按钮。出现“选择源表和源视图”对话框,设置如下选项,如图4.9所示,然后单击“下一步”按钮。源:Cumtomer。目标:Benet.dbo.Customer。

    在“保存并执行包”对话框中选中“立即执行”复选框,然后单击“下一步” 按钮。在如图所示的对话框中单击“完成”按钮。当执行完后,单击“关闭”按钮。

  • ?

    用数据库和用Excel的区别?

    席友梅

    展开

    首先,我们先来说说数据库是什么?官方说法就是:按照数据结构来组织,存储和管理数据的仓库。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。比如数据分析,数据整合等等。但是,数据库的使用成本太高,这就像每个人都是程序员一样,所以我在这里说的,是适合所有小白使用的数据库的应用软件。

    Excel表格大家的熟悉程度可就非同一般了,我们几乎每天都在与Excel表格为伍,公司的财务报表,人力资源的信息,行政的考勤记录等等都是用Excel记录的,那么,在数据膨胀化的时代,Excel还能满足我们的需求吗?答案就可见一斑了~

    首先,我觉得数据库的安全性要比Excel强很多,起码在我编辑到一半数据的时候,即使没有来得及保存,数据库的数据也是不会丢失的,他会永远存在于数据库里,已备我不时之需。但是这一点Excel是做不到的,我想大家都经历过数据录入一半的时候,电脑突然出现故障导致所有数据丢失的事件,当时的懊恼和无助,你可还记忆犹新??

    其次,数据库的数据是可以在线共享的,这种共享是多人可以同时操作一个表格并且数据之间是不会有所干扰的,在此基础上,和你共同协作的人也可以看见你创建的数据,当然这是在你允许的情况下。而Excel的分享只能是不断的通过媒介(比如微信,QQ,邮件)来不断的转发给需要的人,当然转发的同时它已经失去了时效性。而数据最可怕的就是失去时效性。

    再有,数据库的数据分析能力远远超过Excel表格,不只是在于他的图表分析,而且有强大的BI功能做数据的大集合,你可以任意将你需要的表格里任意字段提取出来作为你聚合表里的一部分,你甚至可以将不是同一个表格里的数据做任何的运算,这不就是管理层梦寐以求的数据统计报表吗?你还需要在不同的表格里花费大量的时间一点一点计算那可怜的数据吗?

    以后所有的数据都将平台化,这是数据时代的大趋势,看看你是在掌握数据还是数据掌握你,就只差一个数据库了~

  • ?

    悄悄告诉你,MySQL 通过SQL语句导出到Excel的方法

    Henry

    展开

    执行SQL语句

    select fullname,time,endtime,closed from chat_archive into outfile 'c:/xxx.xls'

    注意:因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,此时有几种选择

    1、把查询出来的结果转换为GB2312格式(字段fullname)

    selectconvert(fullname using gb2312)from chat_archive into outfile 'c:/xxx.xls'

    2、在服务器端使用iconv来进行编码转换

    iconv -futf8 -tgb2312 -otest2.xls femm.xls

    如果转换顺利,那么从server上下载下来就可以使用了。

    3.转换如果不顺利,则会提示:iconv: illegal input sequence at position 1841 类似于这样的错误,

    先把femm.xls下载下来,这个时候文件是utf-8编码的,用excel打开,乱码。

    把femm.xls以文本方式打开,然后另存为,在编码选择ANSI编码,保存。

    引申:如何带表头输出Excel?

    select convert("用户号" using gb2312),convert("用户名" using gb2312) from dual union select convert(userno using gb2312),convert(username using gb2312) from t_users into outfile 'd://users.xls';

    注意:

    1、使用合并的查询结果集 但是union会过滤掉重复记录 不过滤使用union all

    2、如果保存的不是磁盘根目录,而是某个文件夹,需要将文件夹先创建好

sql数据库导出excel

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP