sqlite3常用命令以及django如何操作sqlite3数据库

简介:

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

1、确认sqlite3是否已经安装

进去python命令行,执行

1
2
>>>  import  sqlite3
>>>

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


2、如何进入sqlite3命令行

1
sqlite3  /path/to/dbname

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

1
2
3
4
  ~ 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 :查看所有表

1
2
3
4
5
6
7
8
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、查询表中总的数据条目数

1
select count()  from  TableName;

例如:

1
2
3
4
5
6
sqlite> select count()  from  ucloud_zone;
11
sqlite> select count()  from  ucloud_uhost;
147
sqlite> select count()  from  ucloud_project;
10


5、执行多条查询语句

1
2
3
4
5
6
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
1 、cx  =  sqlite3.connect("db.sqlite3)

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


1
2 、cursor  =  cx.cursor()

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


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

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


1
4 、cursor.close()

关闭游标


下面是操作数据库的过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>>>  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语句

1
2
3
4
5
6
7
8
9
10
11
#coding:utf-8
from  django.db  import  connections
 
def  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()方法











本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1904680,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
484 0
|
10月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
646 14
|
8月前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
10月前
|
SQL 数据可视化 IDE
开发数据库不想写命令?YashanDB Developer Center 帮你轻松搞定
YashanDB Developer Center(YDC)是一款可视化的数据库开发工具,专为提升数据库开发效率而设计。它通过图形化对象管理让数据库对象清晰可见,提供智能SQL编辑器支持语法高亮与自动补全,实现PL调试的图形化操作,帮助快速定位问题。此外,操作记录可追溯,多端灵活部署,适配多种场景。无论是中大型企业研发团队,还是不熟悉命令行的业务开发者,YDC都能显著优化开发体验,堪称YashanDB的“可视化IDE”。
|
11月前
|
SQL 分布式计算 数据库
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
|
11月前
|
SQL 分布式计算 数据库
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
|
11月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令1——数据库操作
本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
707 0
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
1243 15
|
5月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
444 158
|
5月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。