插入数据
语法
以下为向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)