Sqlite—数据库管理与表管理

数据库管理

创建数据库,创建完成之后自动进入

[root@localhost ~]# sqlite3 /www/wwwroot/task.db

使用数据库,如果 /www/wwwroot 路径下面没有task.db这个数据库,则会自动创建数据库

[root@localhost ~]# sqlite3 /www/wwwroot/task.db

其他命令

sqlite> .databases               # 查看数据库列表
sqlite> .quit                    # 退出 sqlite 提示符

表管理

每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 里面存储着数据库的数据结构(表结构、视图结构、索引结构等),只可以对它使用查询语句,即SQLITE_MASTER 表是只读的。SQLITE_MASTER 表DDL信息如下:

CREATE TABLE sqlite_master (type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT);

type:类型(如表、视图、索引等) name:名称   tbl_name:所属表名称   SQL:(表、视图、索引)的DDL语句。

创建表

sqlite> create table tb_user(
   ...>   id INTEGER PRIMARY KEY,
   ...>   name TEXT,
   ...>   time TEXT
   ...> );

查看所有表

-- 对于表来说,type 字段永远是 'table',name 字段永远是表的名字。所以,要获得数据库中所有表的列表, 使用下列SELECT语句:
sqlite> SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;   -- 方法1
sqlite> .table                                                             -- 方法2

-- 对于索引来说,type 等于 'index', name 则是索引的名字,tbl_name 是该索引所属的表的名字, 使用下列SELECT语句:
sqlite> SELECT name FROM sqlite_master WHERE type='index' ORDER BY name;  

-- 对于视图来说,type 等于 'view', name 则是视图的名字,tbl_name 是该视图所属的表的名字, 使用下列SELECT语句:
sqlite> SELECT name FROM sqlite_master WHERE type='view' ORDER BY name;  

检查某个表是否存在

sqlite> SELECT name FROM sqlite_master WHERE type='table' AND name='表名';
sqlite> SELECT name FROM sqlite_master WHERE type='table' AND name='tb_task';
sqlite> SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tb_task';

查看某个表的完整创建信息

sqlite> .schema 表名
sqlite> .schema tb_task

查看某个表的所有字段信息

sqlite> PRAGMA table_info(表名);
sqlite> PRAGMA table_info(tb_task);

删除表

sqlite> drop table tb_task;             -- 方法1
sqlite> drop table if exists tb_task;   -- 方法2

重命名表

sqlite> alter table tb_task rename to tb_user;   -- 将表tb_task重命名为tb_user

新增列、删除列、重命名列

-- 新增列
sqlite> alter table tb_task add column username TEXT;

-- 删除列,A表有x,y,z三列,现在删除x列
sqlite> create table B as select y,z from A
sqlite> drop table if exists A        -- 将A表删除
sqlite> alter table B rename to A     -- 将B表重命名为A

  

posted @ 2019-11-27 17:22  刘_love_田  阅读(831)  评论(0编辑  收藏  举报