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 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()方法

时间: 2024-10-26 19:51:24

sqlite3常用命令以及django如何操作sqlite3数据库的相关文章

sqlite3 常用命令与 SQL 基本语句

sqlite3 数据库的创建与删除: $ sqlite3 stu.db sqlite3 是小型的数据库,所以直接以单个文件作为一个数据库,在命令行中加入的参数是将要打开并操作的数据库,"stu.db" 是数据库的文件名.如果没有此文件,则创建此文件用来保存将要操作的数据.如果没有参数则不打开任何数据库.因为 sqlite3 以单个文件存储数据库所以,直接删除此文件,数据库就不存在了. sqlite3常用命令: sqlite> .help sqlite> .quit sqli

Linux下sqlite3常用命令!!!

sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3基本命令提供技术文档.备注:本文所有操作均在root用户下进行. 1.安装sqlite3ubuntu下安装sqlite3直接在终端运行命令:#apt-get install sqlite3查看版本信息:#sqlite3 -version 2 .sqlite3常用命令当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:#sqlite3 test.db 查看数据库文件信息命令(

sqlite3常用命令&amp;语法

sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备.    Mozilla Firefox使用SQLite作为数据库.    Mac计算机中的包含了多份SQLite的拷贝,用于不同的应用.    PHP将SQLite作为内置的数据库.    Skype客户端软件在内部使用SQLite.    SymbianOS(智能手机操作平台的领航)内置SQLite.    AOL邮件客户端绑定了SQLite. 

Octopus系列之SQLite3常用命令

导出脚本F:\B2CShop>sqlite3 B2CDB.db .dump > test.sql 导入脚本F:\B2CShop>sqlite3 B2CDB.db < B2C-SQLite.sql F:\B2CShop>sqlite3 B2CDB.db < F:\B2CShop\B2C-SQLite.sql 创建数据库sqlite3 Octopus.db < Octopus.sql 导入数据脚本sqlite3 Octopus.db < Octopus2.0_D

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

一.常用命令 1.常识命令 ① w      显示终端连接数 ②pwd    我在哪 ③whoami      我是谁 ④which 命令        找到命令的绝对路径 2.linux 命令行的组成结构 ① ② 修改命令提示符 PS1 的变量控制的 默认的命令提示符 echo $PS1 结果是 [\u@\h \W]\$ 修改变量的值 PS1="[\u@\h \w \t]\$" 3.命令的语法格式 4.递归创建目录的各种方式 mkdir /oldboy ---------------

Linux 系统文本编辑器vi常用命令详解(操作演示)

引言: 在Linux中我们常用的文本编辑器有vi.vim(vi的增强版本).而且vi编辑器不仅仅是适用于Linux,它是所有Unix以及Linux系统下的标准编辑器,几乎适用于Unix.Linux系统的所有版本.vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理.服务器管理字符界面中,永远不是图形界面的编辑器能比的.它能轻易地创建和修改文本文件,维护Linux系统中的配置文件.学会它,你就拥有了打开Linux大门的钥匙. 主要内容: vi编辑器的三种工作模式命令模式的

Mysql常用命令(1) 连接Mysql数据库及修改用户密码

我还在在Linux下测试,我用的是centos,话不多说,启动控制台,输入命令: [Shell] 纯文本查看 复制代码 ? 001 mysql -h localhost -u root -p 如下图<ignore_js_op> mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 退出输入exit回车即可 修改用户密码:mysqladmin命令格式: [Plain Text] 纯文本查看 复制代码 ? 001 mysqladmin -u 用户名 -p旧密码 password

Django常用命令及配置(Django 1.8.6)

常用命令 #新建Django项目 django-admin startproject mysite(项目名) #新建一个APP cd mysite python manager.py startapp app01(app名) #同步数据库 python manage.py makemigrations python manage.py migrate #使用开发服务器 python manage.py runserver 0.0.0.0:8000 #清空数据库 python manage.py

docker-image container 基本操作 -常用命令

基本概念: container 容器.可以把每个 container 看做是一个独立的主机. container 的创建通常有一个 image 作为其模板.类比成虚拟机的话可以理解为 image 就是虚拟机的镜像,而 container 就是一个个正在运行的虚拟机.一个虚拟机镜像可以创建出多个运行的虚拟主机且相互独立. 注意:container 一旦创建如果没有用 rm 命令移除,将会一直存在.所以用完后记得删除哦. image 镜像.image 相当于 container 的模板,contai