要想操作数据表中的数据,首先要保证数据表中存在数据。MySQL 使用 INSERT语句向数据表中添加数据,并且根据添加方式的不同分为三种,分别是为表的所有字段添加数据、为表的指定字段添加数据、同时添加多条记录。
通常情况下,向数据表中添加的新记录应该包含表的所有字段,即为该表中的所有字段添加数据,为表中所有字段添加数据的 INSERT语句有两种,具体如下.
1、INSERT 语句中指定所有字段名
向表中添加新记录时,可以在 INSERT 语句中列出表的所有字段名,其语法格式如下所示:
INSERT INTO 表名 (字段名 1,字段名 2,…)
VALUES (值 1,值 2,…,);
在上述语法格式中,“字段名1,字段名2,…” 表示数据表中的字段名称,此处必须列出表中所有字段的名称;“值1,值 2,…”表示每个字段的值,每个值的顺序、类型必须与对应的字段相匹配。
例如,向 student 表中添加一条新记录,记录中id 字段的值为1,name 字段的值为 'zhangsan',grade 字段的值为 98.5。
在添加新记录之前需要先创建一个数据库 chapter03,创建数据库的 SQL 语句如下所示:
mysql> CREATE DATABASE chapter03;
Query OK, 1 row affected (0.02 sec)
选择使用数据库 chapter03,SQL语句如下
mysql> use chapter03;
Database changed
在数据库中创建一个表 student,用于存储学生信息,创建 student 表的 SQL 语句如下所示:
mysql> create table student(
-> id INT(4),
-> name VARCHAR(20) NOT NULL,
-> grade FLOAT
-> );
Query OK, 0 rows affected, 0 warning (0.03 sec)
使用 INSERT 语句向 student 表中插人一条数据,SQL 语句如下所示:
mysql> INSERT INTO student (id, name, grade) VALUES (1,'zhangsan',98.5);
Query OK, 1 row affected (0.01 sec)
当上述 SQL 语句执行成功后,会在表 student 中添加一条数据。为了验证数据是否添加成功,使用 SELECT 语句查看 student 表中的数据,查询结果如下:
mysql> select * from student;
+------+----------+-------+
| id | name | grade |
+------+----------+-------+
| 1 | zhangsan | 98.5 |
+------+----------+-------+
1 row in set (0.00 sec)
从查询结果可以看出,student表中成功地添加了一条记录,“1 row in set” 表示查询出了一条记录。需要注意的是,使用INSERT语句添加记录时,表名后的字段顺序可以与其在表中定义的顺序不一致,它们只需要与 VALUES 中值的顺序一致即可。
例如,向 student 表中添加一条新记录,记录中 id 字段的值为 2,name 字段的值为lisi',grade 字段的值为 95,SQL语句如下所示:
mysql> INSERT INTO student (name,grade,id) VALUES ('lisi',95,2);
Query OK, 1 row affected (0.00 sec)
从执行结果可以看到,三个字段 id,name 和 grade 的顺序进行了调换,同时VALUES后面值的顺序也做了相应的调换,INSERT语句同样执行成功,接下来通过香询语句查看数据是否成功添加,执行结果如下所示:
mysql> select * from student;
+------+----------+-------+
| id | name | grade |
+------+----------+-------+
| 1 | zhangsan | 98.5 |
| 2 | lisi | 95 |
+------+----------+-------+
2 rows in set (0.00 sec)
从查询结果可以看出,student表中同样成功地添加了一条记录。
2、INSERT 语句中不指定字段名
在 MySQL中,可以通过不指定字段名的方式添加记录,其基本的语法格式如下所示:
INSERT INTO 表名 VALUES (值1,值 2,…);
在上述格式中,“值 1,值 2,…”用于指定要添加的数据。需要注意的是,由于INSERT语句中没有指定字段名,添加的值的顺序必须和字段在表中定义的顺序相同。
例如,向 student 表中添加一条新记录,记录中 id 字段的值为 3,name 字段的值为 'wangwu',grade字段的值为 61.5,INSERT 语句如下所示:
mysql> INSERT INTO student VALUES(3,'wangwu',61.5);
Query OK, 1 row affected (0.00 sec)
SQL 语句执行成功后,同样会在 student 表中添加一条新的记录。为了验证数据是否添加成功,使用 SELECT 语句查看 student 表中的数据,查询结果如下所示:
mysql> select * from student;
+------+----------+-------+
| id | name | grade |
+------+----------+-------+
| 1 | zhangsan | 98.5 |
| 2 | lisi | 95 |
| 3 | wangwu | 61.5 |
+------+----------+-------+
3 rows in set (0.00 sec)
从上述结果可以看出,student表中成功添加了一条记录。由此可见,INSERT 语句中不指定字段名同样可以成功添加数据。
标签:语句,INSERT,表中,添加,student,MySQL,为表中,字段名 From: https://blog.csdn.net/W_Fe5/article/details/141086692