国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQLite教程(八):命令行工具介紹

瀏覽:271日期:2023-04-05 14:56:00

工欲善其事,必先利其器。學(xué)好SQLite的命令行工具,對(duì)于我們學(xué)習(xí)SQLite本身而言是非常非常有幫助的。最基本的一條就是,它讓我們學(xué)習(xí)SQLite的過(guò)程更加輕松愉快。言歸正傳吧,在SQLite的官方下載網(wǎng)站,提供了支持多個(gè)平臺(tái)的命令行工具,使用該工具我們可以完成大多數(shù)常用的SQLite操作,就像sqlplus之于Oracle。以下列表給出了該工具的內(nèi)置命令:

命令名 命令說(shuō)明 .help 列出所有內(nèi)置命令。 .backup DBNAME FILE 備份指定的數(shù)據(jù)庫(kù)到指定的文件,缺省為當(dāng)前連接的main數(shù)據(jù)庫(kù)。 .databases 列出當(dāng)前連接中所有attached數(shù)據(jù)庫(kù)名和文件名。 .dump TABLENAME ... 以SQL文本的格式DUMP當(dāng)前連接的main數(shù)據(jù)庫(kù),如果指定了表名,則只是DUMP和表名匹配的數(shù)據(jù)表。參數(shù)TABLENAME支持LIKE表達(dá)式支持的通配符。 .echo ON|OFF 打開(kāi)或關(guān)閉顯示輸出。 .exit 退出當(dāng)前程序。 .explain ON|OFF 打開(kāi)或關(guān)閉當(dāng)前連接的SELECT輸出到Human Readable形式。 .header(s) ON|OFF 在顯示SELECT結(jié)果時(shí),是否顯示列的標(biāo)題。 .import FILE TABLE 導(dǎo)入指定文件的數(shù)據(jù)到指定表。 .indices TABLENAME 顯示所有索引的名字,如果指定表名,則僅僅顯示匹配該表名的數(shù)據(jù)表的索引,參數(shù)TABLENAME支持LIKE表達(dá)式支持的通配符。 .log FILE|off  打開(kāi)或關(guān)閉日志功能,F(xiàn)ILE可以為標(biāo)準(zhǔn)輸出stdout,或標(biāo)準(zhǔn)錯(cuò)誤輸出stderr。 .mode MODE TABLENAME 設(shè)置輸出模式,這里最為常用的模式是column模式,使SELECT輸出列左對(duì)齊顯示。 .nullvalue STRING  使用指定的字符串代替NULL值的顯示。 .output FILENAME  將當(dāng)前命令的所有輸出重定向到指定的文件。 .output stdout  將當(dāng)前命令的所有輸出重定向到標(biāo)準(zhǔn)輸出(屏幕)。 .quit  退出當(dāng)前程序。  .read FILENAME  執(zhí)行指定文件內(nèi)的SQL語(yǔ)句。 .restore DBNAME FILE  從指定的文件還原數(shù)據(jù)庫(kù),缺省為main數(shù)據(jù)庫(kù),此時(shí)也可以指定其它數(shù)據(jù)庫(kù)名,被指定的數(shù)據(jù)庫(kù)成為當(dāng)前連接的attached數(shù)據(jù)庫(kù)。 .schema TABLENAME 顯示數(shù)據(jù)表的創(chuàng)建語(yǔ)句,如果指定表名,則僅僅顯示匹配該表名的數(shù)據(jù)表創(chuàng)建語(yǔ)句,參數(shù)TABLENAME支持LIKE表達(dá)式支持的通配符。 .separator STRING 改變輸出模式和.import的字段間分隔符。 .show 顯示各種設(shè)置的當(dāng)前值。 .tables TABLENAME 列出當(dāng)前連接中main數(shù)據(jù)庫(kù)的所有表名,如果指定表名,則僅僅顯示匹配該表名的數(shù)據(jù)表名稱(chēng),參數(shù)TABLENAME支持LIKE表達(dá)式支持的通配符。 .width NUM1 NUM2 ... 在MODE為column時(shí),設(shè)置各個(gè)字段的寬度,注意:該命令的參數(shù)順序表示字段輸出的順序。


  見(jiàn)如下常用示例:

    1). 備份和還原數(shù)據(jù)庫(kù)。
 復(fù)制代碼 代碼如下:
    --在當(dāng)前連接的main數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)數(shù)據(jù)表,之后再通過(guò).backup命令將main數(shù)據(jù)庫(kù)備份到D:/mydb.db文件中。
    sqlite> CREATE TABLE mytable (first_col integer);
    sqlite> .backup "D:/mydb.db"
    sqlite> .exit
    --通過(guò)在命令行窗口下執(zhí)行sqlite3.exe以重新建立和SQLite的連接。
    --從備份文件D:/mydb.db中恢復(fù)數(shù)據(jù)到當(dāng)前連接的main數(shù)據(jù)庫(kù)中,再通過(guò).tables命令可以看到mytable表。
    sqlite> .restore "D:/mydb.db"
    sqlite> .tables
    mytable
   
    2). DUMP數(shù)據(jù)表的創(chuàng)建語(yǔ)句到指定文件。
 復(fù)制代碼 代碼如下:
    --先將命令行當(dāng)前的輸出重定向到D:/myoutput.txt,之后在將之前創(chuàng)建的mytable表的聲明語(yǔ)句輸出到該文件。
    sqlite> .output D:/myoutput.txt
    sqlite> .dump mytabl%
    sqlite> .exit
    --在DOS環(huán)境下用記事本打開(kāi)目標(biāo)文件。
    D:\>notepad myoutput.txt
   
    3). 顯示當(dāng)前連接的所有Attached數(shù)據(jù)庫(kù)和main數(shù)據(jù)庫(kù)。
 復(fù)制代碼 代碼如下:
    sqlite> ATTACH DATABASE "D:/mydb.db" AS mydb;
    sqlite> .databases
    seq  name               file
    ---  ---------------  ------------------------
    0    main
    2    mydb                D:\mydb.db
   
    4). 顯示main數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表。
 復(fù)制代碼 代碼如下:
    sqlite> .tables
    mytable
   
    5). 顯示匹配表名mytabl%的數(shù)據(jù)表的所有索引。
 復(fù)制代碼 代碼如下:
    sqlite> CREATE INDEX myindex on mytable(first_col);
    sqlite> .indices mytabl%
    myindex       
   
    6). 顯示匹配表名mytable%的數(shù)據(jù)表的Schema信息。
 復(fù)制代碼 代碼如下:
    --依賴(lài)該表的索引信息也被輸出。
    sqlite> .schema mytabl%
    CREATE TABLE mytable (first_col integer);
    CREATE INDEX myindex on mytable(first_col);
   
    7). 格式化顯示SELECT的輸出信息。
 復(fù)制代碼 代碼如下:
    --插入測(cè)試數(shù)據(jù)
    sqlite> INSERT INTO mytable VALUES(1);
    sqlite> INSERT INTO mytable VALUES(2);
    sqlite> INSERT INTO mytable VALUES(3);   
    --請(qǐng)注意沒(méi)有任何設(shè)置時(shí)SELECT結(jié)果集的輸出格式。
    sqlite> SELECT * FROM mytable;
    1
    2
    3   
    --顯示SELECT結(jié)果集的列名。
    --以列的形式顯示各個(gè)字段。
    --將其后輸出的第一列顯示寬度設(shè)置為10.
    sqlite> .header on
    sqlite> .mode column
    sqlite> .width 10
    sqlite> SELECT * FROM mytable;
    first_col
    ----------
    1
    2
    3
 

標(biāo)簽: SQLite
相關(guān)文章:
主站蜘蛛池模板: 内乡县| 武安市| 西乌珠穆沁旗| 通辽市| 登封市| 额济纳旗| 灌南县| 从江县| 昭平县| 肥西县| 景洪市| 晋城| 海盐县| 仙桃市| 汉中市| 林周县| 邵武市| 都昌县| 阳城县| 神农架林区| 南川市| 金乡县| 得荣县| 新干县| 鹤山市| 洪湖市| 稷山县| 邹平县| 澄城县| 丹阳市| 邢台市| 博乐市| 镇平县| 肥乡县| 博湖县| 永和县| 宜州市| 阳信县| 乐陵市| 元江| 孟村|