>  기사  >  데이터 베이스  >  mysql에서 필드 값을 늘리는 방법

mysql에서 필드 값을 늘리는 방법

青灯夜游
青灯夜游원래의
2021-12-10 18:08:5110754검색

mysql에서는 INSERT 문을 사용하여 필드의 값을 늘릴 수 있습니다. 구문은 "INSERT INTO 테이블 이름 필드 이름 목록 VALUES(값 목록)" 또는 "INSERT INTO 테이블 이름 SET 필드 이름 1 = 값 1"입니다. , 필드 이름 2 = 값 2,…”.

mysql에서 필드 값을 늘리는 방법

이 튜토리얼의 운영 환경: 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,&#39;Network&#39;,3,&#39;Computer Network&#39;);
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(&#39;Database&#39;,&#39;MySQL&#39;,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,&#39;Java&#39;,4,&#39;Java EE&#39;);
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(&#39;System&#39;,3,&#39;Operation System&#39;);
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.