MySQL INSERT对表中数据的操作-插入数据
MySQL INSERT:插入数据(添加数据)
数据库与表创建成功以后,需要向数据库的表中插入数据。在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。
基本语法
INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句。
1) INSERT…VALUES语句
INSERT VALUES 的语法格式为:
INSERT INTO 表名 (列名1, … 列名n )
VALUES (值1… , 值n);
2) INSERT…SET语句
语法格式为:
INSERT INTO 表名
SET 列名1 = 值1,
列名2 = 值2,
…
此语句用于直接给表中的某些列指定对应的列值,即要插入的数据的列名在 SET 子句中指定的列名,等号后面为指定的数据,而对于未指定的列,列值会指定为该列的默认值。
由 INSERT 语句的两种形式可以看出:
-
使用 INSERT…VALUES 语句可以向表中插入一行数据,也可以插入多行数据;
-
采用 INSERT…SET 语句可以向表中插入部分列的值,这种方式更为灵活;
向表中的全部字段添加值
在student数据库中创建一个学生表,包含学生编号 id、学生姓名 name、学生年龄age输入的 SQL 语句和执行结果如下所示。
mysql> create table student(id int primary key auto_increment,name varchar(8),age int not null);
Query OK, 0 rows affected (0.16 sec)
mysql> insert into student (id,name,age)value(null,"张三",18);
Query OK, 1 row affected (0.12 sec)
mysql> insert into student (id,name,age)value(null,"李四",16);
Query OK, 1 row affected (0.08 sec)
mysql> select * from student;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | 张三 | 18 |
| 2 | 李四 | 16 |
+----+------+-----+
2 rows in set (0.00 sec)
向表中指定字段添加值
为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
【实例 4】在 student表中插入一条新记录,age 值为22,输入的 SQL 语句和执行结果如下所示。
mysql> insert into student set age=22;
Query OK, 1 row affected (0.05 sec)
mysql> select * from student;
+----+------+-----+
| id | name | age |
+----+------+-----+
| 1 | 张三 | 18 |
| 2 | 李四 | 16 |
| 3 | NULL | 22 |
+----+------+-----+
3 rows in set (0.00 sec)
可以看到插入记录成功。如查询结果显示,这里的 age字段一个整数值 22。这时的 id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。
学习本是一个不断抄袭、模仿、练习、创新的过程。
虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
对于自己,博文只是总结。在总结的过程发现问题,解决问题。
对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。