关系数据库(五):MySQL插入、更新和删除数据

插入数据

语法

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
如果数据是字符型,必须使用单引号或者双引号,如:"value1"。

通过命令提示窗口插入数据

以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 hanscal_tb 插入数据

实例

以下实例中我们将向 hanscal_tb 表插入三条数据:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use hanscal_tb;
Database changed
mysql> INSERT INTO hanscal_tb 
    -> (hanscal_title, hanscal_author, submission_date)
    -> VALUES
    -> ("学习 python", "学习教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO hanscal_tb
    -> (hanscal_title, hanscal_author, submission_date)
    -> VALUES
    -> ("学习 MySQL", "学习教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO hanscal_tb
    -> (hanscal_title, hanscal_author, submission_date)
    -> VALUES
    -> ("JAVA 教程", "学习教程", '2016-05-06');
Query OK, 1 rows affected (0.00 sec)

在以上示例中,并没有提供 hanscal_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。

更新数据

语法

# 以下是 UPDATE 和 SET 命令修改或更新 MySQL 数据表数据:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
  • 可以同时更新一个或多个字段。
  • 可以在 WHERE 子句中指定任何条件。
  • 可以在一个单独表中同时更新数据。

当需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。

实例

以下我们将在 SQL UPDATE 命令使用 WHERE 子句来更新 hanscal_tb 表中指定的数据:

# 以下命令将更新数据表中 hanscal_id 为 3 的 hanscal_title 字段值:
mysql> UPDATE hanscal_tb SET hanscal_title='学习 C++' WHERE hanscal_id=3;
Query OK, 1 rows affected (0.01 sec)

# 更新后进行查询操作,查看更新结果,从结果上看,hanscal_id 为 3 的 hanscal_title 已被修改。
mysql> SELECT * from hanscal_tb WHERE hanscal_id=3; 

注意:还可以通过SQL脚本和其他语言的API接口实现数据插入和更新,这种插入和更新方式更高效,也遵循SQL语法。

删除数据

语法

# 以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:

DELETE FROM table_name [WHERE Clause]
  • 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  • 你可以在 WHERE 子句中指定任何条件
  • 您可以在单个表中一次性删除记录。

当你想删除数据表中指定的记录时 WHERE 子句是非常有用的。


从命令行中删除数据

实例

# 以下实例将删除 hanscal_tb 表中 hanscal_id 为3 的记录:

mysql> use RUNOOB; 
mysql> DELETE FROM hanscal_tb WHERE hanscal_id=3; 
Query OK, 1 row affected (0.23 sec)

猜你喜欢

转载自blog.csdn.net/weixin_43145427/article/details/124119765