>데이터 베이스 >MySQL 튜토리얼 >mysql에 새 레코드를 추가하는 방법은 무엇입니까?

mysql에 새 레코드를 추가하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-10-09 14:52:088927검색

mysql에 새 레코드를 추가하는 방법: 1. "INSERT INTO 테이블 이름 열 이름 [, ... 열 이름 n] ] VALUES (값 1) [... , (값 n);"을 사용합니다. "INSERT INTO 테이블 이름 SET 열 이름 1 = 값 1, 열 이름 2 = 값 2..." 문을 사용하세요.

mysql에 새 레코드를 추가하는 방법은 무엇입니까?

(권장 튜토리얼: mysql 비디오 튜토리얼)

MySQL 데이터 테이블은 행과 열로 구성됩니다. 일반적으로 테이블의 "열"을 필드(Field)라고 하며, 그 "행"을 필드(Field)라고 합니다. 테이블은 For the Record(레코드)라고 합니다.

데이터베이스와 테이블이 성공적으로 생성된 후에는 데이터베이스 테이블에 데이터를 삽입해야 합니다. MySQL에서는 INSERT 문을 사용하여 데이터베이스의 기존 테이블에 하나 이상의 레코드 행을 삽입할 수 있습니다.

기본 구문

INSERT 문에는 INSERT...VALUES 문과 INSERT...SET 문이라는 두 가지 구문 형태가 있습니다.

1) INSERT...VALUES 문

INSERT VALUES의 구문 형식은

INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

구문 설명은 다음과 같습니다.

  • 34cd3e9c1174c81e3622d1820b4b2875: 연산할 테이블의 이름을 지정합니다.

  • 2510af6ebb6ca97b2031807eae7f5aab: 데이터를 삽입해야 하는 열 이름을 지정합니다. 테이블의 모든 컬럼에 데이터를 삽입하는 경우 모든 컬럼 이름을 생략할 수 있으며, 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 문을 사용하여 여러 데이터 행을 삽입하는 경우 각 데이터 행을 괄호로 묶으면 됩니다.

테이블의 모든 필드에 값을 추가합니다

test_db 데이터베이스에 강좌 번호course_id, 강좌 이름 강좌명, 강좌 학점 강좌_등급 및 강좌 노트 강좌_info, 입력된 SQL 문을 포함하여 강좌 정보 테이블 tb_courses를 만듭니다. 및 실행 결과는 아래와 같습니다.

mysql> CREATE TABLE tb_courses
    -> (
    -> course_id INT NOT NULL AUTO_INCREMENT,
    -> course_name CHAR(40) NOT NULL,
    -> course_grade FLOAT NOT NULL,
    -> course_info CHAR(100) NULL,
    -> PRIMARY KEY(course_id)
    -> );
Query OK, 0 rows affected (0.00 sec)

테이블의 모든 필드에 값을 삽입하는 방법에는 두 가지가 있습니다. 하나는 모든 필드 이름을 지정하는 것이고, 다른 하나는 필드 이름을 전혀 지정하지 않는 것입니다.

【예제 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 키워드 뒤의 값이 완전할 뿐만 아니라 순서도 일치해야 합니다. 테이블 정의 시 컬럼 순서와 동일하다. 테이블의 구조가 수정되거나 컬럼이 추가, 삭제되거나 위치가 변경되면 이러한 작업으로 인해 데이터가 삽입되는 순서도 동시에 변경됩니다. 열 이름을 지정하면 테이블 구조 변경의 영향을 받지 않습니다.

위 내용은 mysql에 새 레코드를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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