<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國際加速解決方案。 廣告
                # 在 MySQL 中插入,更新和刪除數據 > 原文: [http://zetcode.com/databases/mysqltutorial/datamanipulation/](http://zetcode.com/databases/mysqltutorial/datamanipulation/) 在 MySQL 教程的這一部分中,我們將從 MySQL 表中插入,更新和刪除數據。 我們將使用`INSERT`,`DELETE`和`UPDATE`語句。 這些語句是 SQL 數據操作語言 _DML_ 的一部分。 ## 插入數據 `INSERT`語句用于將數據插入表中。 我們將創建一個新表,并在其中進行示例。 ```sql mysql> CREATE TABLE Books(Id INTEGER PRIMARY KEY, Title VARCHAR(100), -> Author VARCHAR(60)); ``` 我們使用`Id`,`Title`和`Author`列創建一個新表`Books`。 ```sql mysql> INSERT INTO Books(Id, Title, Author) VALUES(1, 'War and Peace', -> 'Leo Tolstoy'); ``` 這是經典的`INSERT` SQL 語句。 我們在表名之后指定了所有列名,并在`VALUES`關鍵字之后指定了所有值。 我們將第一行添加到表中。 ```sql mysql> SELECT * FROM Books; +----+---------------+-------------+ | Id | Title | Author | +----+---------------+-------------+ | 1 | War and Peace | Leo Tolstoy | +----+---------------+-------------+ ``` 我們已經將第一行插入到`Books`表中。 ```sql mysql> INSERT INTO Books(Title, Author) VALUES ('The Brothers Karamazov', -> 'Fyodor Dostoyevsky'); ``` 我們將新標題添加到`Books`表中。 我們省略了`Id`列。 `Id`列具有`AUTO_INCREMENT`屬性。 這意味著 MySQL 將自動增加 Id 列。 `AUTO_INCREMENT`列增加的值由`auto_increment_increment`系統變量控制。 默認為 1。 ```sql mysql> SELECT * FROM Books; +----+------------------------+--------------------+ | Id | Title | Author | +----+------------------------+--------------------+ | 1 | War and Peace | Leo Tolstoy | | 2 | The Brothers Karamazov | Fyodor Dostoyevsky | +----+------------------------+--------------------+ ``` 這是`Books`表中的內容。 ```sql mysql> INSERT INTO Books VALUES(3, 'Crime and Punishment', -> 'Fyodor Dostoyevsky'); ``` 在此 SQL 語句中,我們沒有在表名之后指定任何列名。 在這種情況下,我們必須提供所有值。 ```sql mysql> REPLACE INTO Books VALUES(3, 'Paradise Lost', 'John Milton'); Query OK, 2 rows affected (0.00 sec) ``` `REPLACE`語句是對 SQL 標準的 MySQL 擴展。 如果它與現有行發生沖突,它將插入新行或替換舊行。 在我們的表中,帶有`Id=3`的行。 因此,我們之前的語句將其替換為新行。 有一則消息說兩行受到影響。 刪除了一行并插入了一行。 ```sql mysql> SELECT * FROM Books WHERE Id=3; +----+---------------+-------------+ | Id | Title | Author | +----+---------------+-------------+ | 3 | Paradise Lost | John Milton | +----+---------------+-------------+ ``` 這就是我們現在在第三欄中。 我們可以在一個語句中同時使用`INSERT`和`SELECT`語句。 ```sql mysql> CREATE TABLE Books2(Id INTEGER PRIMARY KEY AUTO_INCREMENT, -> Title VARCHAR(100), Author VARCHAR(60)) type=MEMORY; ``` 首先,我們在內存中創建一個名為`Books2`的臨時表。 ```sql mysql> INSERT INTO Books2 SELECT * FROM Books; Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 ``` 在這里,我們將所有數據插入從`Books`表中選擇的`Books2`中。 ```sql mysql> SELECT * FROM Books2; +----+------------------------+--------------------+ | Id | Title | Author | +----+------------------------+--------------------+ | 1 | War and Peace | Leo Tolstoy | | 2 | The Brothers Karamazov | Fyodor Dostoyevsky | | 3 | Paradise Lost | John Milton | +----+------------------------+--------------------+ ``` 我們驗證。 一切都好。 ```sql mysql> INSERT INTO Books(Title, Author) VALUES ('The Insulted and Humiliated', -> 'Fyodor Dostoyevsky'), ('Cousin Bette', 'Honore de Balzac'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 ``` 我們可以使用`INSERT`語句在表中插入多行。 這里我們展示如何。 我們可以從文件系統中的文件插入數據。 首先,我們將`Books`表中的數據轉儲到`books.csv`文件中。 ```sql mysql> SELECT * INTO OUTFILE '/tmp/books.csv' -> FIELDS TERMINATED BY ',' -> LINES TERMINATED BY '\n' -> FROM Books; ``` 我們將`Books`表中的數據寫入`books.csv`文件。 數據將為 CSV 格式。 ```sql $ cat /tmp/books.csv 1,War and Peace,Leo Tolstoy 2,The Brothers Karamazov,Fyodor Dostoyevsky 3,Paradise Lost,John Milton 4,The Insulted and Humiliated,Fyodor Dostoyevsky 5,Cousin Bette,Honore de Balzac ``` 我們顯示`books.csv`文件的內容。 ```sql mysql> TRUNCATE Books; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM Books; Empty set (0.00 sec) ``` 我們從表中刪除所有數據。 ```sql mysql> LOAD DATA INFILE '/tmp/books.csv' -> INTO TABLE Books -> FIELDS TERMINATED BY ',' -> LINES TERMINATED BY '\n'; ``` 我們使用`LOAD DATA INFILE`語法從`books.csv`文件填充`Books`表。 ```sql mysql> SELECT * FROM Books; +----+-----------------------------+--------------------+ | Id | Title | Author | +----+-----------------------------+--------------------+ | 1 | War and Peace | Leo Tolstoy | | 2 | The Brothers Karamazov | Fyodor Dostoyevsky | | 3 | Paradise Lost | John Milton | | 4 | The Insulted and Humiliated | Fyodor Dostoyevsky | | 5 | Cousin Bette | Honore de Balzac | +----+-----------------------------+--------------------+ ``` 一切都好。 我們也可以從 XML 文件加載數據。 首先,我們將 Books 表中的數據寫入 XML 文件。 ```sql $ mysql -uroot -p --xml -e 'SELECT * FROM mydb.Books' > books.xml ``` `mysql`監視器具有`--xml`選項,使我們能夠以 XML 格式轉儲數據。 `-e`選項執行一條語句并退出監視器。 ```sql $ cat books.xml <?xml version="1.0"?> <resultset statement="SELECT * FROM mydb.Books " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <field name="Id">1</field> <field name="Title">War and Peace</field> <field name="Author">Leo Tolstoy</field> </row> <row> <field name="Id">2</field> <field name="Title">The Brothers Karamazov</field> <field name="Author">Fyodor Dostoyevsky</field> </row> <row> <field name="Id">3</field> <field name="Title">Paradise Lost</field> <field name="Author">John Milton</field> </row> <row> <field name="Id">4</field> <field name="Title">The Insulted and Humiliated</field> <field name="Author">Fyodor Dostoyevsky</field> </row> <row> <field name="Id">5</field> <field name="Title">Cousin Bette</field> <field name="Author">Honore de Balzac</field> </row> </resultset> ``` 這是我們的 XML 文件。 ```sql mysql> LOAD XML INFILE '/home/vronskij/programming/mysql/books.xml' INTO TABLE Books; ``` 我們從 XML 文件加載數據。 請注意,`LOAD XML`語句可用于 MySQL 5.5 及更高版本。 ## 刪除數據 在 MySQL 中,我們可以使用`DELETE`和`TRUNCATE`語句刪除數據。 `TRUNCATE`語句是 SQL 規范的 MySQL 擴展。 首先,我們將從表中刪除一行。 我們將使用之前創建的`Books2`表。 ```sql mysql> DELETE FROM Books2 WHERE Id=1; ``` 我們用`Id=1`刪除一行。 ```sql mysql> SELECT * FROM Books2; +----+------------------------+--------------------+ | Id | Title | Author | +----+------------------------+--------------------+ | 2 | The Brothers Karamazov | Fyodor Dostoyevsky | | 3 | Paradise Lost | John Milton | +----+------------------------+--------------------+ ``` 我們驗證數據。 ```sql mysql> DELETE FROM Books2; mysql> TRUNCATE Books2; ``` 這兩個 SQL 語句刪除表中的所有數據。 ## 更新數據 `UPDATE`語句用于更改表的選定行中的列的值。 ```sql mysql> SELECT * FROM Books; +----+-----------------------------+--------------------+ | Id | Title | Author | +----+-----------------------------+--------------------+ | 1 | War and Peace | Leo Tolstoy | | 2 | The Brothers Karamazov | Fyodor Dostoyevsky | | 3 | Paradise Lost | John Milton | | 4 | The Insulted and Humiliated | Fyodor Dostoyevsky | | 5 | Cousin Bette | Honore de Balzac | +----+-----------------------------+--------------------+ ``` 我們重新創建表`Books`。 這些是行。 假設我們想將`"Leo Tolstoy"`更改`'Lev Nikolayevich Tolstoy'`。 以下語句顯示了如何完成此操作。 ```sql mysql> UPDATE Books SET Author='Lev Nikolayevich Tolstoy' -> WHERE Id=1; ``` SQL 語句將`Id=1`列的`author`列設置為`'Lev Nikolayevich Tolstoy'`。 ```sql mysql> SELECT * FROM Books WHERE Id=1; +----+---------------+--------------------------+ | Id | Title | Author | +----+---------------+--------------------------+ | 1 | War and Peace | Lev Nikolayevich Tolstoy | +----+---------------+--------------------------+ ``` 該行已正確更新。 在 MySQL 教程的這一部分中,我們已經在數據庫表中插入,刪除和更新了數據。
                  <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>

                              哎呀哎呀视频在线观看