一、如何进入sqlite3交互模式进行命令操作?

1、确认sqlite3是否已经安装

进去python命令行,执行

>>> import sqlite3
>>>

没有报错,说明sqlite3已经成功安装了

2、如何进入sqlite3命令行

sqlite3 /path/to/dbname

直接执行sqlite3 加数据库名即可

 ~ sqlite3 ~/Downloads/django_test/cmdb/db.sqlite3
sqlite3SQLite version 3.14.0 2016-07-26 15:17:14
Enter ".help" for usage hints.
sqlite>

3、.tables :查看所有表

sqlite> .tables
auth_group                  django_content_type
auth_group_permissions      django_migrations
auth_permission             django_session
auth_user                   ucloud_project
auth_user_groups            ucloud_region
auth_user_user_permissions  ucloud_uhost
django_admin_log            ucloud_zone

4、查询表中总的数据条目数

select count() from TableName;

例如:

sqlite> select count() from ucloud_zone;
11
sqlite> select count() from ucloud_uhost;
147
sqlite> select count() from ucloud_project;
10

5、执行多条查询语句

sqlite> select...> (select count(1) from ucloud_uhost) as uhost,...> (select count(1) from ucloud_project) as project,...> (select count(1) from ucloud_region) as region...> ;
147|10|8

6、格式化输出

您可以使用下列的点命令来格式化输出为本教程下面所列出的格式:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

更多命令查看:

http://www.runoob.com/sqlite/sqlite-commands.html

二、python如何执行sqlite查询命令

python执行sqlite命令的流程:

1、cx = sqlite3.connect("db.sqlite3)

创建或打开数据库文件,如果数据库文件不存在,则创建,存在,则打开该文件。cx为数据库连接对象,它可以有以下操作: commit()--事务提交 rollback()--事务回滚 close()--关闭一个数据库连接 cursor()--创建一个游标

2、cursor = cx.cursor()

定义了一个游标。游标对象有以下的操作: execute()--执行sql语句 executemany--执行多条sql语句 close()--关闭游标 fetchone()--从结果中取一条记录 fetchmany()--从结果中取多条记录 fetchall()--从结果中取出多条记录 scroll()--游标滚动 关于对象的方法可以去 Python 主页上查看DB API的详细文档

3、 cursor.execute("""
... select
... (select count(1) from ucloud_uhost) as uhost
... """)

cursor.execute(sql语句)是执行sql语句

4、cursor.close()

关闭游标

下面是操作数据库的过程

>>> import sqlite3
>>> from django.db import connections
cx = sqlite3.connect("/Users/cengchengpeng/Downloads/django_test/cmdb/db.sqlite3")
cursor = cx.cursor()
>>> cursor
<sqlite3.Cursor object at 0x10b24cb20>
>>> cursor.execute("""
... select
... (select count(1) from ucloud_uhost) as uhost,
... (select count(1) from ucloud_project) as project,
... (select count(1) from ucloud_zone) as zone
... """)
<sqlite3.Cursor object at 0x10b24cb20>
>>> cursor.description
(('uhost', None, None, None, None, None, None), ('project', None, None, None, None, None, None), ('zone', None, None, None, None, None, None))
>>> columns = [_[0].lower() for _ in cursor.description]
>>> columns
['uhost', 'project', 'zone']
>>> for _ in cursor:
...     print _
...
(147, 10, 11)
>>> results = [dict(zip(columns, _)) for _ in cursor]
>>> results
>>> results
[{'project': 10, 'zone': 11, 'uhost': 147}]
>>> cursor.close()

写python脚本,来执行sqlite语句

#coding:utf-8
from django.db import connectionsdef open_sql_dict(sql, connection_name='default'):dbs = connections[connection_name]cursor = dbs.cursor()cursor.execute(sql)columns = [_[0].lower() for _ in cursor.description]results = [dict(zip(columns, _)) for _ in cursor]cursor.close()return results

这里脚本里面,用到了zip()方法和dict()方法

转载于:https://blog.51cto.com/zengestudy/1904680

sqlite3常用命令以及django如何操作sqlite3数据库相关推荐

  1. mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...

  2. redis 清空db下_Redis常用命令集,清空redis缓存数据库

    清空数据库: flushdb   // 清除当前数据库的所有keys flushall    // 清除所有数据库的所有keys Redis常用命令集,清空redis缓存数据库 1)连接操作命令qui ...

  3. sqlite3常用命令语法

    http://blog.csdn.net/linchunhua/article/details/7184439 sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据 库,SQ ...

  4. linux --- 2.常用命令 , python3, django安装

    一.常用命令 1.常识命令 ① w      显示终端连接数 ②pwd    我在哪 ③whoami      我是谁 ④which 命令        找到命令的绝对路径 2.linux 命令行的组 ...

  5. linux② 常用命令 , python3, django安装

    目录 一.常用命令 二.下载和安装 一.常用命令 1.常识命令 ① w      显示终端连接数 ②pwd    我在哪 ③whoami      我是谁 ④which 命令        找到命令的 ...

  6. vim 复制一行并且粘贴_Vim常用命令2之文本操作

    文本操作无非增删改查,搜索,替换,复制粘贴,总结有如下命令(正常模式下) 九四干:Vim常用命令1之移动光标​zhuanlan.zhihu.com 1. 增 1.1 行内插入 i 光标之前插入 I 行 ...

  7. gitlab 构建tag_GitLab常用命令 分支 Tag 配置 操作

    一.从SVN迁出到本地Git仓库(还没有配置Git仓库的,直接看第八条) git svn clone ""                ##注意路径需要双引号引起来 二.在远程仓 ...

  8. Redis常用命令|查询|删除|模糊操作

    Redis中有很多操作命令,今天就给大家整理一下,或许不够全面,欢迎留言沟通. redis常用命令 作用 命令 描述 查看所有key keys * 模糊匹配key keys xxx* | keys * ...

  9. 【数据库】sqlite3常用命令及SQL语句

    [数据库]sqlite3数据库备份.导出方法汇总 一.准备工作 0.安装SQLite3 1)ubuntu命令安装(不是最新版本) sudo apt install sqlite3 2)源码安装(可以安 ...

最新文章

  1. React和Jquery比较
  2. MCU(多点控制单元)
  3. Linux命令篇之usermod命令和passwd命令
  4. feign post 传递空值_HTTP中GET与POST的区别,99 %的人都理解错了
  5. [leetcode] 230. Kth Smallest Element in a BST 找出二叉搜索树中的第k小的元素
  6. [PHP]Maximum execution time of 30 seconds exceeded
  7. 手工纸盒子_不锈钢水槽如何选购,拉伸水槽与手工槽制造工艺有何区别
  8. 1151 LCA in a Binary Tree (30 分)【难度: 难 / 知识点: LCA 未完成】
  9. 共享SQL语句减少硬解析
  10. 数学建模公选课第二节常微分方程2020.4.10-.12补(钉钉)
  11. HTML基础(part4)--常用标签之图片标签
  12. 实验3-2 计算符号函数的值 (10 分)
  13. 【笔试/面试】—— 判断一个链表是否有环
  14. 24合1芯片RK628D替代龙讯LT6911C/东芝TC358749XBG/HDMI TO MIPI...
  15. 服务器搬迁方案_网站服务器迁移方案
  16. 海洋CMS采集翻译发布插件
  17. 从零开始搭建仿抖音短视频APP--开发用户业务模块(1)
  18. 后出海时代:“陡坡式增长”失速,“阶梯式增长”到来
  19. IC卡(智能卡)基础知识简介
  20. 上班族适合的兼职副业,副业做什么比较靠谱,副业赚钱的路子有哪些

热门文章

  1. sklearn中的cross_val_score交叉验证
  2. 大数据分布式集群搭建(2)
  3. 【记录】batch_size对cnn训练的影响
  4. GO语言教程2:使用VS code进行go语言的编写和运行
  5. 一步步带你详解JVM性能调优
  6. SpringBoot 实战定时任务 Scheduled
  7. 如何获得images.xcassets 中图片的路径?
  8. php读取cookie文件,PHP读取CURL模拟登录时生成Cookie文件的方法,_PHP教程
  9. tc写入txt成功却没有内容_挖洞经验 | 构造UserAgent请求头内容实现LFI到RCE提权
  10. argument在python里什么意思_在Python中星号*是什么意思?