sqlite3常用命令以及django如何操作sqlite3数据库
一、如何进入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数据库相关推荐
- mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作
使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...
- redis 清空db下_Redis常用命令集,清空redis缓存数据库
清空数据库: flushdb // 清除当前数据库的所有keys flushall // 清除所有数据库的所有keys Redis常用命令集,清空redis缓存数据库 1)连接操作命令qui ...
- sqlite3常用命令语法
http://blog.csdn.net/linchunhua/article/details/7184439 sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据 库,SQ ...
- linux --- 2.常用命令 , python3, django安装
一.常用命令 1.常识命令 ① w 显示终端连接数 ②pwd 我在哪 ③whoami 我是谁 ④which 命令 找到命令的绝对路径 2.linux 命令行的组 ...
- linux② 常用命令 , python3, django安装
目录 一.常用命令 二.下载和安装 一.常用命令 1.常识命令 ① w 显示终端连接数 ②pwd 我在哪 ③whoami 我是谁 ④which 命令 找到命令的 ...
- vim 复制一行并且粘贴_Vim常用命令2之文本操作
文本操作无非增删改查,搜索,替换,复制粘贴,总结有如下命令(正常模式下) 九四干:Vim常用命令1之移动光标zhuanlan.zhihu.com 1. 增 1.1 行内插入 i 光标之前插入 I 行 ...
- gitlab 构建tag_GitLab常用命令 分支 Tag 配置 操作
一.从SVN迁出到本地Git仓库(还没有配置Git仓库的,直接看第八条) git svn clone "" ##注意路径需要双引号引起来 二.在远程仓 ...
- Redis常用命令|查询|删除|模糊操作
Redis中有很多操作命令,今天就给大家整理一下,或许不够全面,欢迎留言沟通. redis常用命令 作用 命令 描述 查看所有key keys * 模糊匹配key keys xxx* | keys * ...
- 【数据库】sqlite3常用命令及SQL语句
[数据库]sqlite3数据库备份.导出方法汇总 一.准备工作 0.安装SQLite3 1)ubuntu命令安装(不是最新版本) sudo apt install sqlite3 2)源码安装(可以安 ...
最新文章
- React和Jquery比较
- MCU(多点控制单元)
- Linux命令篇之usermod命令和passwd命令
- feign post 传递空值_HTTP中GET与POST的区别,99 %的人都理解错了
- [leetcode] 230. Kth Smallest Element in a BST 找出二叉搜索树中的第k小的元素
- [PHP]Maximum execution time of 30 seconds exceeded
- 手工纸盒子_不锈钢水槽如何选购,拉伸水槽与手工槽制造工艺有何区别
- 1151 LCA in a Binary Tree (30 分)【难度: 难 / 知识点: LCA 未完成】
- 共享SQL语句减少硬解析
- 数学建模公选课第二节常微分方程2020.4.10-.12补(钉钉)
- HTML基础(part4)--常用标签之图片标签
- 实验3-2 计算符号函数的值 (10 分)
- 【笔试/面试】—— 判断一个链表是否有环
- 24合1芯片RK628D替代龙讯LT6911C/东芝TC358749XBG/HDMI TO MIPI...
- 服务器搬迁方案_网站服务器迁移方案
- 海洋CMS采集翻译发布插件
- 从零开始搭建仿抖音短视频APP--开发用户业务模块(1)
- 后出海时代:“陡坡式增长”失速,“阶梯式增长”到来
- IC卡(智能卡)基础知识简介
- 上班族适合的兼职副业,副业做什么比较靠谱,副业赚钱的路子有哪些
热门文章
- sklearn中的cross_val_score交叉验证
- 大数据分布式集群搭建(2)
- 【记录】batch_size对cnn训练的影响
- GO语言教程2:使用VS code进行go语言的编写和运行
- 一步步带你详解JVM性能调优
- SpringBoot 实战定时任务 Scheduled
- 如何获得images.xcassets 中图片的路径?
- php读取cookie文件,PHP读取CURL模拟登录时生成Cookie文件的方法,_PHP教程
- tc写入txt成功却没有内容_挖洞经验 | 构造UserAgent请求头内容实现LFI到RCE提权
- argument在python里什么意思_在Python中星号*是什么意思?