DataGrip的Sqlite处理,导入和查询

本文详细介绍使用DataGrip和SQLite处理数据库的具体步骤,包括如何导入CSV文件、创建DataSource,以及通过SQL语句进行身份证号匹配和数据查询,解决大小写敏感问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataGrip这个零件实际在Pycharm和Idea中都有,就是从里面分离出来的专门处理数据库的零件,用这两个软件也可以实现以下操作。Sqlite属轻量级数据库,几万数据量用它应该足够了,而且内嵌在python中,即使以后用来做flask的数据库也是绰绰有余。我想要实现的是,一个表是武将的名单和身份证号,另一个表是武将的身份证号和效力国家,最终要导出的是武将的信息以及效力国家,且以武将名单为准。相应csv数据如图,如果修改的话,建议先新建excel文件,再打开csv,这样身份证号的科学计数法就可以被忽略,再另存为csv,utf-8编码。

在dataGrip中,在DataBase中新建DataSource->Sqlite,直接拖csv文件即可导入。

查询的话,必须对应身份证的前18位,因为有些身份证后面会多一些数字,那么用如下语句测试身份证的前18位:Substr(列名,起始位置,终了位置),起到切片的作用

select substr(身份证号,0,19) from 三国武将效力

查询结果:(第一个值,后来为了测试大小写,更改了)

最后可以用如下语句进行查询:

select * from 三国武将名单
  left join 三国武将效力on
    substr(三国武将名单.身份证号,0,19)=substr(三国武将效力.身份证号,0,19)

*代表所有列,left join是左连接,on后面是条件,后面条件的意思是两列身份证号的前18位要对应。

结果如下,可以看到刘备的没有。

因为一个表刘备的身份证号的x是大写,另一个表是小写,所以需要在匹配的时候进行转换,用upper:

select * from 三国武将名单
  left join 三国武将效力on
    substr(upper(三国武将名单.身份证号),0,19)=substr(upper(三国武将效力.身份证号),0,19)

结果如下:

 

在比较 JetBrains DataGrip Navicat 这两款数据库管理工具时,可以从功能、支持的数据库类型、用户界面、使用场景等多个维度进行分析。 ### 功能对比 DataGrip 是由 JetBrains 开发的专业数据库 IDE,提供了强大的 SQL 编辑器,具备智能代码补全、语法高亮、错误检测等功能。它还支持多种数据库系统,包括 MySQL、PostgreSQL、Oracle、SQL Server、SQLite 等,并且能够提供跨平台的支持(Windows、macOS、Linux)。此外,DataGrip 提供了版本控制集成、查询执行计划查看、数据浏览与编辑等高级功能[^2]。 Navicat 则是一款图形化数据库开发管理工具,适用于多种数据库系统,如 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL SQLite 等。它的功能亮点在于直观的数据建模、可视化查询构建器、数据同步、导入/导出以及报表生成。Navicat 也支持云数据库连接,例如 Amazon RDS、Microsoft Azure、Oracle Cloud 等服务[^2]。 ### 用户界面与易用性 DataGrip 的界面设计延续了 JetBrains 家族一贯的风格,具有高度可定制性一致性,适合熟悉其其他 IDE(如 IntelliJ IDEA)的开发者快速上手。由于专注于 SQL 编写调试,DataGrip 在这方面提供了非常流畅的体验。 Navicat 的界面则更加偏向于图形化操作,对于非技术人员或对 SQL 不熟悉的用户来说更为友好。它提供了拖放式的对象管理器、图表展示以及向导式配置流程,使得数据库管理维护变得更加简单直接。 ### 使用场景 DataGrip 更适合专业的开发人员 DBA,尤其是那些需要频繁编写复杂 SQL 查询、进行性能调优的人群。其深度集成的代码辅助功能可以帮助提高 SQL 开发效率,并确保代码质量。 Navicat 更加适合企业级应用中的数据库管理员技术人员,特别是在需要进行大量数据迁移、备份恢复、结构设计变更的情况下。它的图形化工具向导可以简化许多常见的数据库任务,降低学习成本并提升工作效率。 ### 支持与扩展性 DataGrip 作为 JetBrains 的产品之一,享受到了该公司强大的技术支持服务保障。同时,JetBrains 社区活跃,有丰富的插件生态可供选择,以增强 DataGrip 的功能。 Navicat 同样拥有良好的客户支持体系,并且针对不同类型的用户提供不同的许可证选项,包括个人版、商业版及团队授权等。此外,Navicat 还可以通过购买额外模块来扩展其功能,比如增强的安全特性或者更高级的数据同步能力。 综上所述,选择哪款工具取决于具体的需求个人偏好。如果重视 SQL 编辑能力多平台兼容性,则可能倾向于选择 DataGrip;而如果追求全面的图形化界面支持广泛的数据库种类,则 Navicat 可能是更好的决定。 ```python # 示例:Python中如何使用psycopg2库连接PostgreSQL数据库 import psycopg2 try: # 建立数据库连接 connection = psycopg2.connect( user="username", password="password", host="127.0.0.1", port="5432", database="testdb" ) cursor = connection.cursor() # 执行SQL语句 cursor.execute("SELECT version();") record = cursor.fetchone() print("You are connected to - ", record, "\n") except (Exception, Error) as error: print("Error while connecting to PostgreSQL", error) finally: if connection: cursor.close() connection.close() print("PostgreSQL connection is closed") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limaning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值