• 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
    

      

  • 相关阅读:
    [2021Fall] Lab10 of CS61A of UCB
    [2021Fall]Project3. Ants vs. Bees of CS61A of UCB
    [2021Fall] Hw09 of CS61A of UCB
    [2021Fall] Hw08 of CS61A of UCB
    Windows平台下Git服务器搭建
    使用NSSM把asp.Net Core webapi部署至 Windows 服务
    内向性格的力量
    访问者模式学习笔记
    Serverless计算
    Linux TOP 命令
  • 原文地址:https://www.cnblogs.com/liuhaidon/p/11943845.html
Copyright © 2020-2023  润新知