在 MySQL 教程的这一部分中,我们将从 MySQL 表中插入,更新和删除数据。 我们将使用INSERT
,DELETE
和UPDATE
语句。 这些语句是 SQL 数据操作语言 _DML_
的一部分。
插入数据
INSERT
语句用于将数据插入表中。
我们将创建一个新表,并在其中进行示例。
我们使用Id
,Title
和Author
列创建一个新表Books
。
这是经典的INSERT
SQL 语句。 我们在表名之后指定了所有列名,并在VALUES
关键字之后指定了所有值。 我们将第一行添加到表中。
我们已经将第一行插入到Books
表中。
我们将新标题添加到Books
表中。 我们省略了Id
列。 Id 列具有AUTO_INCREMENT
属性。 这意味着 MySQL 将自动增加 Id 列。 AUTO_INCREMENT
列增加的值由auto_increment_increment
系统变量控制。 默认为 1。
这是“书籍”表中的内容。
在此 SQL 语句中,我们没有在表名之后指定任何列名。 在这种情况下,我们必须提供所有值。
REPLACE
语句是对 SQL 标准的 MySQL 扩展。 如果它与现有行发生冲突,它将插入新行或替换旧行。 在我们的表中,带有Id=3
的行。 因此,我们之前的语句将其替换为新行。 有一则消息说两行受到影响。 删除了一行并插入了一行。
这就是我们现在在第三栏中。
我们可以在一个语句中同时使用INSERT
和SELECT
语句。
首先,我们在内存中创建一个名为Books2
的临时表。
在这里,我们将所有数据插入从Books
表中选择的Books2
中。
我们验证。 一切都好。
我们可以使用INSERT
语句在表中插入多行。 这里我们展示如何。
我们可以从文件系统中的文件插入数据。 首先,我们将Books
表中的数据转储到books.csv
文件中。
我们将Books
表中的数据写入books.csv
文件。 数据将为 CSV 格式。
我们显示books.csv
文件的内容。
我们从表中删除所有数据。
我们使用LOAD DATA INFILE
语法从books.csv
文件填充 Books 表。
一切都好。
我们也可以从 XML 文件加载数据。 首先,我们将 Books 表中的数据写入 XML 文件。
mysql
监视器具有--xml
选项,使我们能够以 XML 格式转储数据。 -e
选项执行一条语句并退出监视器。
这是我们的 XML 文件。
我们从 XML 文件加载数据。 请注意,LOAD XML
语句可用于 MySQL 5.5 及更高版本。
删除数据
在 MySQL 中,我们可以使用DELETE
和TRUNCATE
语句删除数据。 TRUNCATE
语句是 SQL 规范的 MySQL 扩展。 首先,我们将从表中删除一行。 我们将使用之前创建的Books2
表。
我们用Id=1
删除一行。
我们验证数据。
这两个 SQL 语句删除表中的所有数据。
更新数据
UPDATE
语句用于更改表的选定行中的列的值。
我们重新创建表Books
。 这些是行。
假设我们想将“列夫·托尔斯泰”更改为“列夫·尼古拉耶维奇·托尔斯泰”表。 以下语句显示了如何完成此操作。
SQL 语句将Id=1
列的 author 列设置为’Lev Nikolayevich Tolstoy’。
该行已正确更新。