<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 在 SQLite 中創建,刪除和更改表 > 原文: [http://zetcode.com/db/sqlite/tables/](http://zetcode.com/db/sqlite/tables/) 在 SQLite 教程的這一部分中,我們將介紹 SQLite 數據庫的數據定義語言(DDL)。 DDL 由定義數據庫架構的 SQL 語句組成。 模式是以正式語言描述的數據庫結構。 在關系數據庫中,模式定義表,視圖,索引,關系和觸發器。 SQLite 支持以下三個 DDL 語句: * `CREATE` * `ALTER` * `DROP` 在 SQLite 中,`CREATE`語句用于創建表,索引,視圖和觸發器。 `ALTER TABLE`語句更改表的結構。 `DROP`語句刪除表,索引,視圖或觸發器。 ## SQLite 創建表 `CREATE`語句用于創建表。 它還用于創建索引,視圖和觸發器。 要創建表,我們給表及其列命名。 每列可以具有以下數據類型之一: * `NULL` — 該值為`NULL`值 * `INTEGER` — 有符號整數 * `REAL` — 浮點值 * `TEXT`- 文本字符串 * `BLOB` — 數據塊 ```sql sqlite> CREATE TABLE Testing(Id INTEGER); sqlite> .schema Testing CREATE TABLE Testing(Id INTEGER); ``` 我們使用`CREATE TABLE`語句創建一個簡單的`Testing`表。 `.schema`命令顯示該表的形式定義。 ```sql sqlite> CREATE TABLE Testing(Id INTEGER); Error: table Testing already exists ``` 如果我們嘗試創建一個已經存在的表,則會出現錯誤。 因此,`CREATE TABLE`語句具有可選的`IF NOT EXISTS`子句。 使用此子句不會做任何事情,我們不會收到任何錯誤。 ```sql sqlite> CREATE TABLE IF NOT EXISTS Testing(Id INTEGER); ``` 對于嘗試創建一個已經存在的表,我們沒有收到錯誤消息。 `CREATE TABLE` ... `AS`語句可基于`SELECT`語句創建新表。 ```sql sqlite> CREATE TABLE Cars2 AS SELECT * FROM Cars; ``` 上面的語句使用特定的`SELECT`語句創建與`Cars`表相同的表。 ```sql sqlite> ATTACH DATABASE 'test2.db' AS test2; sqlite> .databases main: /home/janbodnar/tmp/test.db test2: /home/janbodnar/tmp/test2.db ``` 我們使用`ATTACH DATABASE`語句將新數據庫添加到當前數據庫連接中。 第一個數據庫稱為`main`,新數據庫稱為`test2`。 ```sql sqlite> CREATE TABLE test2.Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price INTEGER); sqlite> INSERT INTO test2.Cars VALUES(1, 'Porsche', 107699); sqlite> SELECT * FROM main.Cars WHERE Id=1; 1 Audi 52642 sqlite> SELECT * FROM test2.Cars WHERE Id=1; 1 Porsche 107699 ``` 由于我們有兩個數據庫,因此如果要在`test2`數據庫中創建表,則必須指定數據庫名稱。 數據庫名稱位于表名稱之前。 在這種情況下,如果未指定數據庫名稱,則將自動選擇`main`。 ```sql sqlite> CREATE TEMPORARY TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, Price INTEGER); sqlite> INSERT INTO temp.Cars VALUES (1, 'Kia', 24300); sqlite> .databases main: /home/janbodnar/tmp/test.db temp: test2: /home/janbodnar/tmp/test2.db sqlite> SELECT * FROM temp.Cars WHERE Id=1; Id Name Price ---------- ---------- ---------- 1 Kia 24300 sqlite> ``` 使用`TEMPORARY`關鍵字,我們創建一個臨時數據庫。 每次關閉數據庫連接時,都會破壞一個臨時數據庫。 臨時數據庫的名稱為`temp`。 ## SQLite 刪除表 `DROP`語句用于從數據庫中刪除表。 ```sql sqlite> .tables Authors Cars2 Orders temp.Cars Books Customers Reservations test2.Cars Cars Friends Testing sqlite> DROP TABLE Testing; sqlite> .tables Authors Cars Customers Orders temp.Cars Books Cars2 Friends Reservations test2.Cars ``` 我們使用`.tables`命令顯示可用表。 `DROP TABLE`語句從數據庫中刪除`Testing`表。 ```sql sqlite> DROP TABLE Testing; Error: no such table: Testing ``` 嘗試刪除不存在的表會導致錯誤。 使用`IF EXISTS`子句,我們可以避免此錯誤。 ```sql sqlite> DROP TABLE IF EXISTS Testing; ``` 該語句僅在存在`Testing`表時才會刪除。 ```sql sqlite> DROP TABLE IF EXISTS test2.Cars; ``` 該 SQL 語句從`test2`數據庫中刪除`Cars`表。 ## SQLite `ALTER TABLE` SQLite 支持`ALTER TABLE`語句的有限子集。 SQLite 中的此語句允許用戶重命名表或向現有表添加新列。 無法重命名列,刪除列或從表中添加或刪除約束。 ```sql sqlite> CREATE TABLE Names(Id INTEGER, Name TEXT); ``` 讓我們創建一個要重命名的表`Names`。 ```sql sqlite> ALTER TABLE Names RENAME TO NamesOfFriends; ``` 我們將表重命名為`NamesOfFriends`。 ```sql sqlite> .schema NamesOfFriends CREATE TABLE "NamesOfFriends"(Id INTEGER, Name TEXT); ``` 我們驗證重命名表的架構。 假設我們要向表中添加一個新列。 ```sql sqlite> ALTER TABLE NamesOfFriends ADD COLUMN Email TEXT; ``` SQL 語句將名為`Email`的新列添加到表中。 ```sql sqlite> .schema NamesOfFriends CREATE TABLE "NamesOfFriends"(Id INTEGER, Name TEXT, Email TEXT); ``` 在這里,我們看到了表的新結構。 在 SQLite 教程的這一部分中,我們將創建,刪除和更改表。
                  <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>

                              哎呀哎呀视频在线观看