sql xml 带冒号_Jupyter与SQL魔法
6行代码在Jupyter里搞定PostgreSQL从安装到查询里,其中三行代码用于检查Postgres安装是否成功,
%load_ext sql%sql postgresql://postgres:@localhost/postgres%sql select version()
在三行代码都有一个共同特点,都是以%开头,这个就是今天介绍到的Jupyter魔法命令。
Jupyter NoteBook 是功能强大的Python交互IDE,深受数据分析师和算法工程师的热爱。Jupyter NoteBook 在综合使用文字、代码、图片等多种元素展示设计者的想法方面有着美妙的用户体验。而其自带的一些常用Magic Command 可以让它变得更加得心应手。
Magic命令主要包含两大类,一类是行魔法(Line magic)前缀为%,一类是单元格魔法(Cell magic)前缀为%%;有了SQL魔法的加持,Jupyter瞬间变成了强大的SQL客户端,并且支持多种数据库,如:
PostgreSQL:
postgresql://alitrack:com@localhost/postgres
MySQL:
mysql://alitrack:com@localhost/mydb
Oracle:
oracle://alitrack:com@127.0.0.1:1521/ora
SQL Server:
mssql+pyodbc://alitrack:com@mydsn
SQLite:
sqlite:///foo.db
今天仍然以PostgreSQL为例介绍入门SQL魔法, 数据则采用最经典的机器学习数据iris.csv。
1. 开启SQL魔法
%load_ext sql
2. 连接数据库
%sql postgresql://postgres:@localhost/postgres
3. 导入数据
方式一,使用pandas读取到Dataframe
#如果pandas没有安装,请先行安装pandasimport pandas as pddf_iris=pd.read_csv("iris.csv")df_iris.head()
然后使用persist命令保存pandas DataFrame为数据库表,
%sql persist df_iris
方式2,创建数据表,然后数据库自带的高速导入命令Copy,
%%sqlCREATE TABLE iris(sepal_length REAL,sepal_width REAL,petal_length REAL,petal_width REAL,species varchar(20));COPY iris FROM 'iris.csv' DELIMITER ',' CSV HEADER ;
这个方法在数据体量比较大的情况下,非常有用,否则pandas需要循环块读取导入。
4. 绑定参数
参数替换是一项方便的功能,它允许在查询运行时定义SQL查询参数。它使代码不那么脆弱和缺乏表现力。该参数需要在本地范围内定义,并以冒号开头,即:parameter
state='FINISHED'%sql SELECT :state as "bind_variable"
5. 变量赋值
单行SQL
iris_result=%sql select * from iris;
多行SQL
%%sql iris_result <select * from irislimit 10;
输出数据类型为sql.run.ResultSet
type(iris_result)
转pandas DataFrame
df=iris_result.DataFrame()type(df)
生成pandas DataFrame后,就可以自由地输出为各种格式了。
6. 自动转pandas DataFrame
%config SqlMagic.autopandas=Truedf=%sql select * from iris limit 1;type(df)
7. 从数据库里删除数据
%sql truncate df_iris;
8. 删除数据表(慎用)
%sql drop table if exists df_iris;
有了SQL魔法,Jupyter变身SQL客户端,在绘图包的帮助下,Jupyter变身了可视化工具
#conda install -y seabornimport seaborn as snssns.set_style('whitegrid')sns.pairplot(iris,hue='species',height=4)
带着小白入门数据分析,有问题随时交流(QQ群):
想加入Excel、SAS、Python微信群的同学直接加小编微信进群。
投稿请直接联系小编,一旦采用,会有小红包感谢。
sql xml 带冒号_Jupyter与SQL魔法相关推荐
- java xml中的冒号_Java jdom解析xml文件带冒号的属性
Java jdom解析xml文件带冒号的属性 如果xml文件解析带了冒号的属性,一般都是要特别处理,这里是命名空间,N年前遇到过一次忘记记录,后来也忘了,这次再记录下. 解决了,记录下,分享给大家,百 ...
- hive无法执行带where语句的SQL
应用场景 当在伪分布式集群上,搭建部署了hive以后,发现hive无法执行带where语句的sql,那hive将无法使用,下面介绍解决该问题的方案! 操作步骤 hive连接执行sql,可以执行带whe ...
- java mysql 占位符_在Java中编写带占位符的SQL语句
C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...
- Mybatis工作流程,附带mybatis的mapper文件和config配置文件模板。mapper文件和dao接口的关系——xml中的namespace和sql标签id命名要求。
1. Mybatis工作流程 1.1 使用MySQL创建数据库girls并生成一个表boys,如下图. 1.2 创建该表对应的简单实体类Boys,如下图. 1.3 创建Dao接口以及和接口同名的map ...
- 【MyBatis使用】mapper.xml 调试时无法打印SQL的无奈解决方法分享(原因说明+举例)
最近开发新功能,调试 mapper.xml 里的SQL,遇到了极其痛苦的事情: 没有 p6spy SQL无法输出到工作台 mapper 接口没有实现 MyBatis 的 BaseMapper 导致 M ...
- sql xml 入门
/* sql xml 入门:--by jinjazz--http://blog.csdn.net/jinjazz1.xml: 能认识元素.属性和值2.xpath: 寻址语言,类似windows目录的查 ...
- xquery删除_XQuery实例删除SQL XML文档
xquery删除 Delete operations over SQL XML should be possible with either erasing the XML document with ...
- sql简单带索引的语句_SQL Server 2017:栏目索引和简单计划
sql简单带索引的语句 Some time ago, SQL Server 2017 was released and issued as CTP. The most exciting release ...
- 打破第一范式的要求 (中英对照)Michael Rys 对 SQL Server 2005 中XML 的 评论——对微软SQL Server项目经理Michael Rys博士的采访
Michael Rys on XML in SQL Server 2005 Michael Rys对SQL Server 2005中XML的评论 Michael Rys is one of two p ...
最新文章
- 2022-2028年中国白手套行业市场全景调查及发展前景分析报告
- 安卓学习-界面-ui-RadioButton CheckBox
- 搭完环境,最后登录时提示“与数据库连接失败,请与管理员联系”
- eclipse java ui,Eclipse Forms筹划漂亮UI之高级组件[Java编程]
- android studio 工程rebuild没反应,Andriod Studio Clear Project或Rebuild Project出错
- matlab中的全局参量,matlab参数传递及全局变量 | 学步园
- 银行计算机储蓄系统程序流程图,银行储蓄系统流程图.doc
- 微软的SqlHelper做数据层(一)
- JAVA面试题《下》
- python写公众号_python如何编写公众号
- Centos7配置ssh、rsh免密互信集群服务
- 【看表情包学Linux】缓冲区的概念 | Git 三板斧 | 实现简易进度条
- (云)服务器硬件性能测试
- springboot 2.0 配置全局时间格式化
- 数字重复次数统计软件
- 3、组推荐系统及其应用研究---张玉洁(2016)
- DYA8面向对象中--包与修饰符
- sync.WaitGroup的用法
- BindingException:Invalid bound statement (not found)如何解决
- 论文解析:Matrix Capsule
热门文章
- 自动脚本以及打包,将写好的脚本打包成exe可执行文件
- dha哪里提取的好_孕妇吃什么dha好 藻油提取的DHA最适合
- Revit二次开发手记【1】
- networkx 有向图强连通_有向图的强连通分支
- MongoDB基础指令
- 花 40 块搞个游戏机「GitHub 热点速览 v.22.27」
- 剑门高级中学2021年高考成绩查询,剑门关高级中学2021年高中部入学条件是什么?...
- Java数字加密(加密解密)
- plm显示服务器位置无效,PLM能解决的常见数据管理问题
- csharp基础练习题:TO DE-RY-PO-陆琪暗号【难度:1级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练