mysql에서는 INSERT 문을 사용하여 필드의 값을 늘릴 수 있습니다. 구문은 "INSERT INTO 테이블 이름 필드 이름 목록 VALUES(값 목록)" 또는 "INSERT INTO 테이블 이름 SET 필드 이름 1 = 값 1"입니다. , 필드 이름 2 = 값 2,…”.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
mysql에서는 INSERT 문을 사용하여 필드 값을 늘릴 수 있습니다.
INSERT 문은 데이터베이스의 기존 테이블에 하나 이상의 튜플 데이터 행을 삽입할 수 있습니다.
INSERT 문에는 INSERT...VALUES 문과 INSERT...SET 문이라는 두 가지 구문 형식이 있습니다.
1) INSERT…VALUES 문
INSERT VALUES 的语法格式为: INSERT INTO <表名> [ <字段名1> [ , … <字段名n>] ] VALUES (值1) [… , (值n) ];
구문은 아래에 설명되어 있습니다.
34cd3e9c1174c81e3622d1820b4b2875: 연산할 테이블의 이름을 지정합니다.
682951d420eaefcba802b73935d51268: 데이터를 삽입해야 하는 필드 이름을 지정합니다. 테이블의 모든 필드에 데이터를 삽입하는 경우 모든 필드 이름을 생략할 수 있으며, INSERT34cd3e9c1174c81e3622d1820b4b2875VALUES(…)를 직접 사용할 수 있습니다.
VALUES 또는 VALUE 절: 이 절에는 삽입할 데이터 목록이 포함됩니다. 데이터 목록의 데이터 순서는 열 순서와 일치해야 합니다.
2) INSERT...SET 문
구문 형식은 다음과 같습니다.
INSERT INTO <表名> SET <字段名1> = <值1>, <字段名2> = <值2>, …
이 문은 테이블의 특정 열에 해당하는 열 값을 직접 지정하는 데 사용됩니다. 삽입할 데이터의 컬럼 이름은 문장에 지정된 SET 하위에 있으며, col_name은 지정된 컬럼 이름이며, 등호 뒤에 지정된 데이터가 지정되지 않은 경우 컬럼 값이 기본값으로 지정됩니다. 열의 값입니다.
2가지 형태의 INSERT 문에서 볼 수 있습니다.
INSERT...VALUES 문을 사용하여 한 행의 데이터 또는 여러 행의 데이터를 테이블에 삽입합니다.
INSERT.. .SET 문은 테이블의 각 열 값을 지정하거나
INSERT...SELECT 문은 다른 테이블의 데이터를 테이블에 삽입합니다.
INSERT...SET 문을 사용하면 일부 열의 값을 테이블에 삽입할 수 있어 더욱 유연해집니다.
INSERT...VALUES 문은 한 번에 여러 데이터 조각을 삽입할 수 있습니다. .
MySQL에서는 단일 INSERT 문을 사용하여 여러 삽입을 처리하는 것이 여러 INSERT 문을 사용하는 것보다 빠릅니다.
단일 INSERT 문을 사용하여 여러 데이터 행을 삽입하는 경우 각 데이터 행을 괄호로 묶으면 됩니다.
테이블의 모든 필드에 값 추가
테이블의 모든 필드에 값을 삽입하는 방법에는 두 가지가 있습니다. 하나는 모든 필드 이름을 지정하는 것이고, 다른 하나는 필드 이름을 지정하지 않는 것입니다. 조금도.
【예제 1】tb_courses 테이블에 새 레코드를 삽입합니다.course_id 값은 1,course_name값은 "Network",course_grade값은 3,info값은 "Computer Network"입니다.
Insert 작업을 수행하기 전에 아래와 같이 tb_courses 테이블의 SQL 문과 실행 결과를 확인하세요.
mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)
쿼리 결과 현재 테이블 내용이 비어 있고 데이터가 없는 것으로 나타납니다. 다음으로 데이터를 삽입하는 작업을 수행하고 실행 과정은 다음과 같습니다.
mysql> INSERT INTO tb_courses -> (course_id,course_name,course_grade,course_info) -> VALUES(1,'Network',3,'Computer Network'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | +-----------+-------------+--------------+------------------+ 1 row in set (0.00 sec)
레코드가 성공적으로 삽입된 것을 확인할 수 있습니다. 데이터 삽입 시 tb_courses 테이블의 모든 필드가 지정되므로 각 필드마다 새로운 값이 삽입됩니다.
INSERT 문 뒤의 컬럼 이름 순서는 tb_courses 테이블 정의 시의 순서와 같을 필요는 없습니다. 즉, 데이터 삽입 시 테이블에 정의된 순서대로 삽입할 필요는 없습니다. 값의 순서는 열 필드의 순서와 동일합니다.
【예제 2】tb_courses 테이블에 새 레코드를 삽입합니다.course_id 값은 2,course_name값은 "Database",course_grade값은 3,info값은 "MySQL"입니다. 입력된 SQL 문과 실행 결과는 아래와 같습니다.
mysql> INSERT INTO tb_courses -> (course_name,course_info,course_id,course_grade) -> VALUES('Database','MySQL',2,3); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | +-----------+-------------+--------------+------------------+ 2 rows in set (0.00 sec)
INSERT를 사용하여 데이터를 삽입할 때 열 이름 목록인 column_list는 비워 둘 수 있습니다. 이때 값 목록은 테이블의 각 필드에 대한 값을 지정해야 하며 값의 순서는 다음과 같아야 합니다. 데이터 테이블의 필드가 정의되는 순서와 동일합니다.
【예제 3】tb_courses 테이블에 새 레코드를 삽입합니다.course_id 값은 3,course_name값은 "Java",course_grade값은 4,info값은 "Jave EE"입니다. 입력된 SQL 문과 실행 결과는 아래와 같습니다.
mysql> INSERT INTO tb_courses -> VLAUES(3,'Java',4,'Java EE'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | +-----------+-------------+--------------+------------------+ 3 rows in set (0.00 sec)
INSERT 문에 삽입 목록이 지정되지 않고 값 목록만 지정됩니다. 이 경우 값 목록은 각 필드 열에 삽입된 값을 지정하며, 값은 tb_courses 테이블에 정의된 필드와 동일한 순서로 이루어져야 합니다.
참고: INSERT를 사용하여 데이터를 삽입할 때 삽입된 데이터의 열 이름은 무시될 수 있지만 값에 열 이름이 포함되어 있지 않으면 VALUES 키워드 뒤의 값이 완전할 뿐만 아니라 순서도 일치해야 합니다. 테이블 정의 시 컬럼 순서와 동일하다. 테이블의 구조가 수정되거나 컬럼이 추가, 삭제되거나 위치가 변경되면 이러한 작업으로 인해 데이터가 삽입되는 순서도 동시에 변경됩니다. 열 이름을 지정하면 테이블 구조 변경의 영향을 받지 않습니다.
테이블의 지정된 필드에 값 추가
为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
【实例 4】在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> (course_name,course_grade,course_info) -> VALUES('System',3,'Operation System'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 3 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
可以看到插入记录成功。如查询结果显示,这里的 course_id 字段自动添加了一个整数值 4。这时的 course_id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。
【相关推荐:mysql视频教程】
위 내용은 mysql에서 필드 값을 늘리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!