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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # SQLite 插入,更新,刪除數據 > 原文: [http://zetcode.com/db/sqlite/datamanipulation/](http://zetcode.com/db/sqlite/datamanipulation/) 在 SQLite 教程的這一部分中,我們將插入,更新和刪除 SQLite 表中的數據。 我們將使用`INSERT`,`DELETE`和`UPDATE`語句。 這些語句是 SQL 數據操作語言(DML)的一部分。 ## SQLite 插入數據 `INSERT`語句用于將數據插入表中。 我們將創建一個新表來執行示例。 ```sql sqlite> DROP TABLE IF EXISTS Cars; sqlite> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name TEXT, ...> Price INTEGER DEFAULT 'Not available'); ``` 我們使用`Id`,`Name`和`Price`列創建一個新表`Cars`。 ```sql sqlite> INSERT INTO Cars(Id, Name, Price) VALUES(1, 'Audi', 52642); ``` 這是經典的`INSERT`語句。 我們在表名之后指定了所有列名,并在`VALUES`關鍵字之后指定了所有值。 第一行添加到表中。 ```sql sqlite> INSERT INTO Cars(Name, Price) VALUES('Mercedes', 57127); ``` 我們將新車添加到`Cars`表中。 我們省略了`Id`列。 `Id`列定義為`INTEGER PRIMARY KEY`,并且這些列在 SQLite 中自動增加。 這意味著 SQLite 庫本身將添加一個新的`Id`。 ```sql sqlite> .headers on sqlite> SELECT * FROM Cars; Id|Name|Price 1|Audi|52642 2|Mercedes|57127 ``` 這是目前`Cars`表中的內容。 ```sql sqlite> INSERT INTO Cars VALUES(3, 'Skoda', 9000); ``` 在此 SQL 語句中,我們沒有在表名之后指定任何列名。 在這種情況下,我們必須提供所有值。 ```sql sqlite> .nullvalue NULL ``` `.nullvalue`命令告訴 SQLite 將`NULL`值顯示為`NULL`。 默認情況下,SQLite 顯示`NULL`值的空字符串。 ```sql sqlite> INSERT INTO Cars(Id) VALUES(4); ``` `INSERT`語句省略了最后兩列。 這些列將填充默認值,如果沒有默認值,則填充`NULL`。 `Name`列沒有默認值,因此有一個`NULL`值。 在`CREATE TABLE`語句中,我們已指定`Price`列具有`"Not available"`默認值。 ```sql sqlite> SELECT * FROM Cars WHERE Id=4; Id|Name|Price 4|NULL|Not available ``` 在第二列中,我們有一個`NULL`值。 第三個具有默認的`"Not available"`字符串。 ```sql sqlite> INSERT INTO Cars VALUES(4, 'Volvo', 29000); Error: UNIQUE constraint failed: Cars.Id ``` 假設我們想將所有信息放入第四列。 嘗試將新數據插入現有行會產生以下錯誤:`UNIQUE`約束失敗:`Cars.Id`。 ```sql sqlite> INSERT OR REPLACE INTO Cars VALUES(4, 'Volvo', 29000); ``` 在這種情況下,我們可以使用`INSERT OR REPLACE`語句。 使用`UPDATE`語句可以完成相同的操作。 ```sql sqlite> SELECT * FROM Cars WHERE Id=4; Id|Name|Price 4|Volvo|29000 ``` 現在,所有信息都在第四行。 ```sql sqlite> INSERT OR FAIL INTO Cars VALUES(4, 'Bentley', 350000); Error: UNIQUE constraint failed: Cars.Id ``` `INSET OR FAIL INTO`語句等于`INSERT INTO`語句。 它只是更具體一點,即在發生錯誤時失敗。 ```sql sqlite> INSERT OR IGNORE INTO Cars VALUES(4, 'Bentley', 350000); sqlite> SELECT * FROM Cars WHERE Id=4; Id|Name|Price 4|Volvo|29000 ``` `INSERT OR IGNORE INTO`語句將忽略該錯誤消息。 `SELECT`語句顯示最后兩個語句沒有修改第四行。 從 SQLite 3.7.11 版本開始,可以使用一個`INSERT`語句插入多行。 ```sql sqlite> CREATE TEMP TABLE Ints(Id INTEGER PRIMARY KEY, Val INTEGER); ``` 我們將使用單列`Ints`表來顯示多行`INSERT`語句。 該表的孤行列存儲整數。 ```sql sqlite> INSERT INTO Ints(Val) VALUES (1), (3), (5), (6), (7), (8), (6), (4), (9); ``` 我們一口氣將九行插入表中。 這些行緊跟`VALUES`關鍵字,并以逗號分隔。 ```sql sqlite> SELECT * FROM Ints; Id|Val 1|1 2|3 3|5 4|6 5|7 6|8 7|6 8|4 9|9 ``` 這些是`Ints`表的內容。 我們可以在一個語句中同時使用`INSERT`和`SELECT`語句。 ```sql sqlite> CREATE TABLE Cars2(Id INTEGER PRIMARY KEY, Name TEXT, Price INTEGER); ``` 首先,我們創建一個名為`Cars2`的新表。 ```sql sqlite> INSERT INTO Cars2 SELECT * FROM Cars; ``` 在這里,我們將`Cars`表中的所有數據插入`Cars2`表中。 ```sql sqlite> SELECT * FROM Cars2; Id|Name|Price 1|Audi|52642 2|Mercedes|57127 3|Skoda|9000 4|Volvo|29000 ``` 我們驗證。 ## SQLite 刪除數據 `DELETE`關鍵字用于從表中刪除數據。 首先,我們將從表中刪除一行。 我們將使用之前創建的`Cars2`表。 ```sql sqlite> DELETE FROM Cars2 WHERE Id=1; ``` 我們用`Id` 1 刪除一行。 ```sql sqlite> SELECT * FROM Cars2; Id|Name|Price 2|Mercedes|57127 3|Skoda|9000 4|Volvo|29000 ``` 我們驗證第一行是否丟失。 ```sql sqlite> DELETE FROM Cars2; ``` 該 SQL 語句刪除表中的所有數據。 ```sql sqlite> SELECT Count(Id) AS '# of cars' FROM Cars2; # of cars --------------- 0 ``` 此 SQL 語句確認`Cars2`表中現在沒有行。 ```sql sqlite> .read cars.sql sqlite> SELECT * FROM Cars; 1|Audi|52642 2|Mercedes|57127 3|Skoda|9000 4|Volvo|29000 5|Bentley|350000 6|Citroen|21000 7|Hummer|41400 8|Volkswagen|21600 ``` 使用`.read`元命令,我們創建一個新的`Cars`表。 (表的 SQL 可以在本教程的第一章中找到。) ## SQLite 更新數據 `UPDATE`語句用于修改存儲在數據庫表的零行或更多行中的值的子集。 假設我們想在`Cars`表中將`'Skoda'`更改為`'Skoda Octavia'`。 以下語句顯示了如何完成此操作: ```sql sqlite> .read cars.sql sqlite> UPDATE Cars SET Name='Skoda Octavia' WHERE Id=3; ``` SQL 語句將`Id=3`列的汽車名稱設置為'Skoda Octavia'。 ```sql sqlite> SELECT * FROM Cars WHERE Id=3; 3|Skoda Octavia|9000 ``` 該行已正確更新。 在 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>

                              哎呀哎呀视频在线观看