文章目录
- 插入数据 —— INSERT
- 常见的插入数据
- 一.想表中所有的字段插入数据
- 实例1
- 实例2
- 二.向表中指定字段插入数据
- 实例3
- 三.同时插入多条数据
- 实例4
- 四.将其他表中的数据插入到表中
- 实例5(1)
- 实例5(2)
插入数据 —— INSERT
常见的插入数据
- 向表中所有的字段插入数据
- 向表中指定字段插入数据
- 向表中指定字段插入多条数据和将其他表中的数据插入到表中
一.想表中所有的字段插入数据
1. 指定字段及值
语法:
INSTER INTO 表名 (字段1,字段2,字段3,...)
VALUES(数据1,数据2,数据3,...);
实例1
题目:想goods表中插入一条新数据。
1.查询数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| demo_8_4 |
| firm |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
2.创建数据库
mysql> CREATE DATABASE db_shop;
Query OK, 1 row affected (0.02 sec)
3.再次查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| db_shop |
| demo_8_4 |
| firm |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
4.选择数据库
mysql> USE db_shop;
Database changed
5.创建数据表
mysql> CREATE TABLE goods(
-> id INT(11) PRIMARY KEY AUTO_INCREMENT,
-> type VARCHAR(30) NOT NULL,
-> name VARCHAR(30) UNIQUE,
-> price DECIMAL(7,2) UNSIGNED,
-> num INT(11) DEFAULT 0,
-> add_time DATETIME
-> );
Query OK, 0 rows affected, 3 warnings (0.15 sec)
6.向goods表中插入一条新记录
mysql> INSERT INTO goods(id,type,name,price,num,add_time)
-> VALUES(1,'书籍','斗罗大陆',38.5,30,'2022-02-12 15:30:27');
Query OK, 1 row affected (0.01 sec)
7.查看表中的记录
mysql> SELECT*FROM goods;
+----+--------+--------------+-------+------+---------------------+
| id | type | name | price | num | add_time |
+----+--------+--------------+-------+------+---------------------+
| 1 | 书籍 | 斗罗大陆 | 38.50 | 30 | 2022-02-12 15:30:27 |
+----+--------+--------------+-------+------+---------------------+
1 row in set (0.00 sec)
- 2.不指定字段值列出字段值。
语法:
INSERT INTO 表名 VALUES(数据1,数据2,数据3,...);
实例2
题目:向goods表中插入一条新记录。
1.向goods表中插入新数据。
mysql> INSERT INTO goods VALUES(2,'水果','火龙果',15,213,'2022-03-06 14:12:32');
Query OK, 1 row affected (0.01 sec)
2.查看数据结果
mysql> SELECT*FROM goods;
+----+--------+--------------+-------+------+---------------------+
| id | type | name | price | num | add_time |
+----+--------+--------------+-------+------+---------------------+
| 1 | 书籍 | 斗罗大陆 | 38.50 | 30 | 2022-02-12 15:30:27 |
| 2 | 水果 | 火龙果 | 15.00 | 213 | 2022-03-06 14:12:32 |
+----+--------+--------------+-------+------+---------------------+
2 rows in set (0.00 sec)
二.向表中指定字段插入数据
- 向表中插入数据时,也可以只指定一部分字段的值,语法:
INSERT INTO 表名(指定的字段1,指定的字段2,指定的字段3,...)
VALUES(数据1,数据2,数据3,...);
实例3
题目:向goods表中指定字段插入数据。
1.向goods表中插入数据
mysql> INSERT INTO goods(type,name,price)
-> VALUES('蔬菜','胡萝卜',6);
Query OK, 1 row affected (0.01 sec)
2.查询数据结果
mysql> SELECT*FROM goods;
+----+--------+--------------+-------+------+---------------------+
| id | type | name | price | num | add_time |
+----+--------+--------------+-------+------+---------------------+
| 1 | 书籍 | 斗罗大陆 | 38.50 | 30 | 2022-02-12 15:30:27 |
| 2 | 水果 | 火龙果 | 15.00 | 213 | 2022-03-06 14:12:32 |
| 3 | 蔬菜 | 胡萝卜 | 6.00 | 0 | NULL |
+----+--------+--------------+-------+------+---------------------+
3 rows in set (0.00 sec)
根据结果可得出:
当字段没有约束时,系统会将字段设置为NULL。
当字段设置为自增约束时,系统会将字段设置为自增后的顺序。
当字段设置为默认约束时,系统会将字段设置为默认值。
三.同时插入多条数据
- 语法:
INSERT INTO 表名(字段1,字段2,字段3,...)
VALUE(数据1,数据2,数据3,...),
...
(数据1,数据2,数据3,...);
实例4
- 题目:向goods表 中插入多条数据。
1.选择数据库。
mysql> USE db_shop;
Database changed
2.向表中插入多条数据。
mysql> INSERT INTO goods(id,type,name,price,num,add_time)
-> VALUES(4,'冷饮','百事可乐',3,6,'2022-04-03 15:12:34'),
-> (5,'零食','QQ糖',1,10,'2022-03-01 12:30:56'),
-> (6,'服装','牛仔裤',65,4,'2022-06-05 16:32:20');
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
四.将其他表中的数据插入到表中
- 语法:
INSERT INTO 表名1(字段列表1)
SELECT 字段列表2 FROM 表名2;
实例5(1)
题目:创建new_goods表,并插入记录。
1.创建new_goods表。
mysql> CREATE TABLE new_goods(
-> id INT(11) PRIMARY KEY AUTO_INCREMENT,
-> type VARCHAR(30) NOT NULL,
-> name VARCHAR(30) UNIQUE,
-> price DECIMAL(7,2) UNSIGNED,
-> num INT(11) DEFAULT 0,
-> add_time DATETIME
-> );
Query OK, 0 rows affected, 3 warnings (0.12 sec)
2.将goods表中的数据插入到new_goods表中。
mysql> INSERT INTO new_goods(id,type,name,price,num,add_time)
-> SELECT id,type,name,price,num,add_time FROM goods;
Query OK, 6 rows affected (0.01 sec)
Records: 6 Duplicates: 0 Warnings: 0
3.查询数据表。
mysql> SELECT*FROM new_goods;
+----+--------+--------------+-------+------+---------------------+
| id | type | name | price | num | add_time |
+----+--------+--------------+-------+------+---------------------+
| 1 | 书籍 | 斗罗大陆 | 38.50 | 30 | 2022-02-12 15:30:27 |
| 2 | 水果 | 火龙果 | 15.00 | 213 | 2022-03-06 14:12:32 |
| 3 | 蔬菜 | 胡萝卜 | 6.00 | 0 | NULL |
| 4 | 零食 | QQ糖 | 1.00 | 10 | 2022-03-01 12:30:56 |
| 5 | 冷饮 | 百事可乐 | 3.00 | 6 | 2022-04-03 15:12:34 |
| 6 | 服装 | 牛仔裤 | 65.00 | 4 | 2022-06-05 16:32:20 |
+----+--------+--------------+-------+------+---------------------+
6 rows in set (0.00 sec)
实例5(2)
题目:创建test_goods表,并插入数据。
1.选择数据库
mysql> USE db_shop;
Database changed
2.创建数据表
mysql> USE db_shop;
Database changed
mysql> CREATE TABLE test_goods(
-> t_id INT(11) PRIMARY KEY AUTO_INCREMENT,
-> t_name VARCHAR(30) UNIQUE,
-> t_price DECIMAL(7,2) UNSIGNED
-> );
Query OK, 0 rows affected, 2 warnings (0.10 sec)
3.将goods表中的id,name,price字段插入到test_goods表中。
mysql> INSERT INTO test_goods(t_id,t_name,t_price)
-> SELECT id,name,price FROM goods;
Query OK, 6 rows affected (0.02 sec)
Records: 6 Duplicates: 0 Warnings: 0