<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # SQLite學習手冊(數據庫和事務) 一、Attach數據庫: ATTACH DATABASE語句添加另外一個數據庫文件到當前的連接中,如果文件名為":memory:",我們可以將其視為內存數據庫,內存數據庫無法持久化到磁盤文件上。如果操作Attached數據庫中的表,則需要在表名前加數據庫名,如dbname.table_name。最后需要說明的是,如果一個事務包含多個Attached數據庫操作,那么該事務仍然是原子的。見如下示例: ``` sqlite> CREATE TABLE testtable (first_col integer); sqlite> INSERT INTO testtable VALUES(1); sqlite> .backup 'D:/mydb.db'?? _--將當前連接中的主數據庫備份到指定文件。_ sqlite> .exit ``` --重新登錄sqlite命令行工具: ``` sqlite> CREATE TABLE testtable (first_col integer); sqlite> INSERT INTO testtable VALUES(2); sqlite> INSERT INTO testtable VALUES(1); sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb;?? ? sqlite> .header on??????????? --查詢結果將字段名作為標題輸出。 sqlite> .mode column?? ???? --將每列都分開顯示。 sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col; first_col ---------- 1?? ? ``` 二、Detach數據庫: 卸載將當前連接中的指定數據庫,注意main和temp數據庫無法被卸載。見如下示例: --該示例承載上面示例的結果,即mydb數據庫已經被Attach到當前的連接中。 ``` sqlite> DETACH DATABASE mydb; sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col; Error: no such table: mydb.testtable ``` 三、事務: 在SQLite中,如果沒有為當前的SQL命令(SELECT除外)顯示的指定事務,那么SQLite會自動為該操作添加一個隱式的事務,以保證該操作的原子性和一致性。當然,SQLite也支持顯示的事務,其語法與大多數關系型數據庫相比基本相同。見如下示例: ``` sqlite> BEGIN TRANSACTION; sqlite> INSERT INTO testtable VALUES(1); sqlite> INSERT INTO testtable VALUES(2); sqlite> COMMIT TRANSACTION;????? --顯示事務被提交,數據表中的數據也發生了變化。 sqlite> SELECT COUNT(*) FROM testtable; COUNT(*) ---------- 2 sqlite> BEGIN TRANSACTION; sqlite> INSERT INTO testtable VALUES(1); sqlite> ROLLBACK TRANSACTION;? --顯示事務被回滾,數據表中的數據沒有發生變化。 sqlite> SELECT COUNT(*) FROM testtable; COUNT(*) ---------- 2 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看