让我们先来定义一个数据帧 。
df_skill = pd.DataFrame({'user_id': [1,1,2,2,3,3,3],'skill': ['Network Security', 'Algorithm Development', 'Network Security', 'JAVA', 'Python', 'Data Science', 'machine Learning']})
![你知道Python有内置数据库吗?Python内置库SQlite3使用指南](http://img.jiangsulong.com/220420/1045145449-7.jpg)
文章插图
然后,我们可以简单地调用数据帧的to_sql()方法将其保存到数据库中 。
df_skill.to_sql('SKILL', con)
就这样我们甚至不需要预先创建表,列的数据类型和长度都会被推断出来 。当然,如果你想的话,你也可以先定义 。然后,假设我们要将表 USER 和 SKILL 连接在一起,并将结果读入Pandas数据框 。
df = pd.read_sql('''SELECT s.user_id, u.name, u.age, s.skillFROM USER u LEFT JOIN SKILL s ON u.id = s.user_id''', con)
![你知道Python有内置数据库吗?Python内置库SQlite3使用指南](http://img.jiangsulong.com/220420/1045143360-8.jpg)
文章插图
是不是很厉害?让我们把结果写到一个名为USER_SKILL的新表中 。
df.to_sql('USER_SKILL', con)
我们也可以用SQL客户端来检索表 。![你知道Python有内置数据库吗?Python内置库SQlite3使用指南](http://img.jiangsulong.com/220420/1045142Y8-9.jpg)
文章插图
总结实际上,Python中还隐藏着很多惊喜 。而且这些惊喜并不没有隐藏起来,只是Python有太多现成可以直接使用的特性了,这就导致很多人无法发现这些特性 。
在本文中,我介绍了如何使用 Python 内置库 sqlite3 在 SQLite 数据库中创建和操作表 。它也支持对表格进行更新和删除操作,建议大家在看完这篇文章之后自己尝试一下 。
最重要的是,我们可以轻松地将表从 SQLite 数据库读入 Pandas 数据帧,反之亦然 。这使我们能够更容易地与我们的轻量级关系数据库进行交互 。
你可能会注意到 SQLite 没有进行身份验证,这也是它刻意设计的行为,因为需要轻量化 。
一起去探索Python中更多令人惊讶的特性吧!
--END--
作者:Christopher Tao
原文链接:https://towardsdatascience.com/do-you-know-python-has-a-built-in-database-d553989c87bd
编译:未艾信息(www.weainfo.net)
喜欢本文的同学记得转发+点赞~
更多内容,欢迎大家关注我们的公众号:为AI呐喊(weainahan)
推荐阅读
- 社保断交一个月有什么影响?
- 让excel单元格颜色随日期自动变化,你会吗?用条件格式1分钟搞定
- Python基础算法之快速求解
- 男人4条恋爱底线 绝不会告诉你
- 婴儿多大开始说话
- 婴儿囟门受伤的表现
- 婴儿漏屎怎么办
- 老曼峨的品鉴特色,你喝的茶来自哪儿老曼峨
- 五种方法瞬间让你人见人爱
- 决明子怎么泡水喝,你喝了吗