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,如需转载请自行联系原作者

目录
相关文章
|
4天前
|
SQL 存储 数据挖掘
深入了解SQLite3命令:小巧强大的数据库工具
SQLite3是轻量级数据库工具,适用于嵌入式设备和数据分析。它提供交互式shell,无需服务器,易于部署。常用命令如`.schema`显示表结构,`.mode`设置输出格式。示例包括创建数据库`mydatabase.db`,创建表`users`,插入数据并查询。注意动态类型系统、性能限制及SQL注入安全。适合轻量级数据存储和管理。
|
5天前
|
ARouter 关系型数据库 MySQL
Django项目同时连接多个不同的数据库(7)
【7月更文挑战第7天】在Django项目中配置连接多个数据库,你需要: 1. 在`settings.py`中配置多个数据库, 2. 在`settings.py`内设置数据库路由,指定每个应用使用的数据库,
18 2
|
7天前
|
关系型数据库 MySQL 数据库连接
Django如何修改项目名,修改数据库(5)
【7月更文挑战第5天】 ### 项目迁移与数据库更换步骤 1. 修改项目目录和配置文件名。 2. 更新`manage.py`中的模块名。 3. 全局替换`settings.py`中的旧项目名。 4. 删除旧路由配置。 5. 在`settings.py`中更新`DATABASES`,配置新的数据库连接(如MySQL)。 6. 从`INSTALLED_APPS`和可能的`DATABASE_APPS_MAPPING`中移除无用模块。
14 3
|
6天前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
12 1
|
8天前
|
数据库 Python
Django数据库类库MySQLdb使用详解
在Django中使用MySQLdb数据库类库,需要遵循以下步骤: 1. 安装MySQLdb:首先,需要在你的Python环境中安装MySQLdb类库。可以使用pip工具进行安装,命令如下:`pip install mysqlclient` 1. 配置Django数据库设置:在Django的settings.py文件中,需要配置DATABASES字典,用于指定使用MySQLdb以及数据库的相关信息。配置样例如下: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',
14 3
|
16天前
|
关系型数据库 MySQL 数据库
『Django』模型入门教程-操作MySQL
一个后台如果没有数据库可以说废了一半。日常开发中大多数时候都在与数据库打交道。Django 为我们提供了一种更简单的操作数据库的方式。 在 Django 中,模型(Model)是用来定义数据库结构的类。每个模型类通常对应数据库中的一个表,类的属性对应表中的列。通过定义模型,Django 的 ORM(Object-Relational Mapping)可以将 Python 对象映射到数据库表,并提供一套 API 来进行数据库操作。 本文介绍模型的用法。
|
17天前
|
Java Devops API
阿里云云效操作报错合集之云效页面提示数据库保存不进去,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
12天前
|
SQL 安全 关系型数据库
Kingbase(人大金仓数据库)(总结全网精华,虚拟机:从安装到操作数据库一条龙)
KingbaseES 是一款由中国人大金仓信息技术股份有限公司自主研发的通用关系型数据库管理系统(RDBMS),专为中国市场设计,广泛应用于政府、金融、能源、电信等多个关键行业。它是国产数据库的代表之一,以其高安全性、高可用性和高性能著称,符合中国信息技术领域的自主可控要求。以下是关于KingbaseES的一些关键特点和功能:
|
12天前
|
存储 Java Linux
SQLite3数据库的安装与使用教程
SQLite3数据库的安装与使用教程
|
17天前
|
SQL Java 数据库连接
使用Python通过JDBC操作数据库(达梦数据库)
使用Python通过JDBC操作数据库(达梦数据库)
41 0