レコードを挿入

レコードを挿入する

レコードを挿入するための基本的な構文は 2 つあります

基本的な構文 1 を挿入します

QQ截图20161009153143.png

基本的な構文 2 を挿入します

QQ截图20161009153225.png

解説

基本構文1と基本文法2 の違いは次のとおりです:

1. 基本構文 1 の挿入ステートメントでは、テーブル内のフィールドと同じ数の値を挿入する必要があります。誰もそれ以上になることはできませんし、誰もそれ以下になることもできません。デフォルト値があり、それを渡したくない場合は、null を記述できます。

2. 基本構文 2 では、必須フィールドがない限り、値を記述する必要があります。デフォルト値を書きたくない場合は無視して構いません。 mysql はデフォルト値を自動的に完成させます。

3. 基本構文 2 では、user(id,username,sex) フィールドの順序は値の順序です。

ユーザーテーブルと呼ばれるテーブルがあるとします。フィールド、フィールドの説明、タイプ、およびフィールドのオプションと必須の状態を説明します。テーブルの構造は次のとおりです。

QQ截图20161009153254.png

に従って、上記のテーブルに挿入ステートメントを記述します。基本的な構文:

insert into user values(null,'王开 ','php@163.com',null ,1);

1. フィールド名を指定する必要はありませんが、値の後の順序はテーブル フィールドの並べ替えと一致している必要があります。

2. デフォルト値を持つフィールドは書き込む必要がなく、デフォルト値になります。

3. デフォルト値または null 許容フィールドがあり、特定の値を渡したくない場合は、null を記述できます。

4. データ形式は、表に指定されているデータ形式と一致している必要があります。

基本構文 2 に従って、上の表に挿入ステートメントを記述します。

insert into user(username,sex) values('王开',1);

1。このフィールドの値は自動的にインクリメントされますので、値を渡す必要はありません。挿入するたびに1ずつ増加します。

2. デフォルト値を持つフィールドと null 許容フィールドは渡す必要はありません

3. テーブル ユーザー (ユーザー名、性別) の挿入順序に基づきます

4. より一般的な使用法は、基本的な構文 2 です

基本的な構文のバリエーション: 複数のレコードを一度に挿入します

insert into user(username,password,sex)
 values('黄晓明', 'abcdef', 1),
 ( 'angelababy', 'bcdeef', 0),
 ( '陈赫', '123456', 1),
 ('王宝强', '987654', 1);

レコードを挿入した後、レコード ID を返します

Mysql提供了一个LAST_INSERT_ID()的函数。
mysql> SELECT LAST_INSERT_ID();  -> 195

簡単に言えば、この関数は、挿入されたレコードがテーブル内で増加したフィールドの値を返します。この自動インクリメントされた値は ID という名前になります。これにより、挿入されたばかりのレコードの ID 値が返されます。

レコードが存在しない場合は挿入、レコードが存在する場合は更新するMysql実装方法

mysql> truncate `200702`; 
 Query OK, 0 rows affected (0.01 sec) 
 mysql> select * from `200702`; 
 Empty set (0.01 sec) 
 mysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`) values ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04') ON DUPLICATE KEY UPDATE `query_ns1` = `query_ns1` + 1000, `query_ns2` = `query_ns2` + 2000; 
 Query OK, 1 row affected (0.00 sec)

もちろん、テーブルを作成する際にはドメインに一意にすることも忘れずに

UNIQUE KEY `domain` (`domain`,`report_date`)


学び続ける
||
<?php echo "Hello Mysql"; ?>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜