mysql에 새 레코드를 추가하는 방법: 1. "INSERT INTO 테이블 이름 열 이름 [, ... 열 이름 n] ] VALUES (값 1) [... , (값 n);"을 사용합니다. "INSERT INTO 테이블 이름 SET 열 이름 1 = 값 1, 열 이름 2 = 값 2..." 문을 사용하세요.
(권장 튜토리얼: 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) ];
구문 설명은 다음과 같습니다.
<테이블 이름>: 연산할 테이블의 이름을 지정합니다.
<열 이름>: 데이터를 삽입해야 하는 열 이름을 지정합니다. 테이블의 모든 컬럼에 데이터를 삽입하는 경우 모든 컬럼 이름을 생략할 수 있으며, INSERT<테이블 이름>VALUES(…)를 직접 사용할 수 있습니다.
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,'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 키워드 뒤의 값이 완전할 뿐만 아니라 순서도 일치해야 합니다. 테이블 정의 시 컬럼 순서와 동일하다. 테이블의 구조가 수정되거나 컬럼이 추가, 삭제되거나 위치가 변경되면 이러한 작업으로 인해 데이터가 삽입되는 순서도 동시에 변경됩니다. 열 이름을 지정하면 테이블 구조 변경의 영향을 받지 않습니다.
위 내용은 mysql에 새 레코드를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!