INSERT INTO
文を実行して、データをテーブルに挿入できます。 挿入するデータの行に重複する主キー値がある場合、挿入は無視されます。 このステートメントは、INSERT IGNORE INTO
に相当します。
構文
INSERT [IGNORE]
INTO table_name
[( column_name [, ...] )]
[値]
[(value_list[, ...])]
[クエリ];
パラメーター
IGNORE
: 重複する主キー値を持つ行の挿入を無視します。 このパラメーターはオプションです。column_name
: 列の名前。 このパラメーターはオプションです。query
: クエリ結果をテーブルに挿入できるSELECTステートメント。
使用上の注意
列名を指定しない場合、挿入するデータの列は、CREATE TABLE文で指定した列と同じ順序で配置する必要があります。
例
顧客とコースという名前のテーブルを作成します。
テーブルの顧客を作成する (
customer_id bigint NOT NULL COMMENT 'Customer ID' 、
customer_name varchar NOT NULL COMMENT 'Customer name' 、
phone_num bigint NOT NULLコメント '電話番号' 、
city_name varchar NOT NULL COMMENT 'City' 、
sex int NOT NULL COMMENT 'Gender' 、
id_number varchar NOT NULLコメント「IDカード番号」、
home_address varchar NOT NULL COMMENT「ホームアドレス」、
office_address varchar NOT NULL COMMENT 'オフィスアドレス' 、
age int NOT NULL COMMENT 'Age' 、
login_time timestamp NOT NULL COMMENT 'ログオン時間' 、
PRIMARYキー (login_time, customer_id, phone_num)
)
ハッシュによる分布 (customer_id)
PARTITION BY VALUE(DATE_FORMAT(login_time, '% Y % m % d')) LIFECYCLE 30
コメント '顧客情報テーブル';
CREATE TABLEコース (
id bigint AUTO_INCREMENT PRIMARYキー、名前varchar(20) NOT NULL、グレードvarchar (20) デフォルト 'グレード3' 、submission_dateタイムスタンプ
)
ハッシュによって分布 (id)
データの行を顧客テーブルに挿入します。
INSERT INTO customer(customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time) 値 (002367、'Alan' 、'13900001234 '、'Hangzhou' 、0、'987300' 、'West Lake' 、'Cloud Town' 、23, '2018-03-02 10:00:00 ');
INSERT INTOを実行... ON DUPLICATE KEY UPDATE...
ステートメントを使用して、データの行を顧客テーブルに挿入します。は顧客に挿入します 値 (002367、'Alan' 、'13900001234 '、'Hangzhou' 、0、'987300' 、'West Lake' 、'Cloud Town' 、23, '2018-03-02 10:00:00 '); 複製キーについて 更新年齢=23;
顧客テーブルに複数行のデータを挿入します。
INSERT INTO customer(customer_id,customer_name,phone_num,city_name,sex,id_number,home_address,office_address,age,login_time) 値 (002367、'Tom '、'13900001234' 、'Hangzhou' 、0、'987300' 、'West Lake' 、'Cloud Town' 、23、'2018-03-02 10:00:00 ') 、(002368、'Alex' 、'139000011' 、'Hangzhou' 、'9800' 、'Town' 、'22'Hange' 、'300' 、'、'9800' 、' 、'i' 、'、' 、'、' 、'、'''i' 、35、'2018-09-12 08:11:00');
列名を指定せずに、顧客テーブルに複数のレコードを挿入します。
INSERT INTO 顧客の価値 (002367、'Tom '、'13900001234' 、'Hangzhou' 、0、'987300' 、'West Lake' 、'Cloud Town' 、23、'2018-03-02 10:00:00 ') 、(002368、'Alex' 、'139000011' 、'Hangzhou' 、'9800' 、'Town' 、'22'Hange' 、'300' 、'、'9800' 、' 、'i' 、'、' 、'、' 、'、'''i' 、35、'2018-09-12 08:11:00');
データの行をコーステーブルに挿入します。
INSERT INTOコース (name,submission_date) 値 ("Jams",NOW());
INSERTクエリ
の例については、「INSERT SELECT FROM」をご参照ください。