検索
ホームページバックエンド開発PHPチュートリアルまた土曜日です~MySQL特訓~MySQL_PHPチュートリアル

また土曜日です -MySQL特訓、-MySQL

こんにちは

また土曜日、長い朝ですよ〜お昼を食べてから始めましょう

1.MySQL

-----サブクエリと接続(3)-----

----INSERT...SELECT を使用してレコードを挿入します

--英語版のデータベースコンテンツ

WAMP の MYSQL コンソールで中国語が弱いことがわかり、変更プロセス中に疲れ果てたので、戦術を変更してデータをすべて英語に変更しました

--データテーブルを作成する

CREATE TABLE IF NOT EXISTS Goods(
Goods_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
Goods_name VARCHAR(150) NOT NULL,
Goods_cate VARCHAR(40) NOT NULL,
brand_name VARCHAR(40) NOT NULL,
Goods_price DECIMAL(15,3 ) UNSIGNED NOT NULL デフォルト 0、
is_show ブール値 NOT NULL デフォルト 1、
is_saleoff ブール値 NOT NULL デフォルト 0
);

-- 記録を書きます

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('R510VC 15.6Inches Laptop','Laptop','ASUS','3399',DEFAULT,DEFAULT);

商品を挿入 (goods_name,goods_cate) ,brand_name,goods_price,is_show,is_saleoff) VALUES('Y400N 14.0インチ ラップトップ','ラップトップ','Lenovo','4899',DEFAULT,DEFAULT);

商品を挿入 (goods_name,goods_cate,brand_name,goods_price,is_show, is_saleoff) VALUES('G150TH 15.6インチ ゲームブック','ゲームブック','ThunderGod','8499',DEFAULT,DEFAULT);

商品を挿入 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('X550CC 15.6インチ Laptop','Laptop','ASUS','2799',DEFAULT,DEFAULT);

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('X240(20ALA0EYCD) 12.5 インチ Ultrabook',' Ultrabook','Lenovo','4999',DEFAULT,DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('U330P 13.3 インチ Ultrabook','Ultrabook','Lenovo', '4299',DEFAULT,DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('SVP13226SCB 13.3 インチ Touch Ultrabook','Ultrabook','Sony','7999',DEFAULT, DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('iPad mini MD531CH/A 7.9 インチ タブレット','タブレット','Apple','1998',DEFAULT,DEFAULT);

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) を挿入 VALUES('iPad Air MD788CH/A 9.7 インチ タブレット (16G WiFi ビジョン)','タブレット','Apple','3388',DEFAULT,DEFAULT );

INSERT Goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES(' iPad mini ME279CH/A Retina スクリーン 7.9 インチタブレット (16G WiFi ビジョン)','タブレット','Apple','2788' ,DEFAULT,DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('IdeaCentre C340 20 インチ オールインワン ','デスクトップ','Lenovo','3499',DEFAULT, DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Vostro 3800-R1206 デスクトップ','デスクトップ','Dell','2899',DEFAULT,DEFAULT);

INSERT Goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('iMac ME086CH/A 21.5インチ オールインワン','デスクトップ','Apple','9188',DEFAULT,DEFAULT);

INSERT Goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('AT7-7414LP デスクトップ (i5-3450 4G 500G 2G 独立したグラフィックス カード DVD キーボードとマウス Linux )','デスクトップ','Acer','3699',DEFAULT, DEFAULT);

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Z220SFF F4F06PAWork station','server/Work station','HP','4288',DEFAULT,DEFAULT);

INSERT 商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('PowerEdge T110 IIserver','server/Work station','Dell','5388',DEFAULT,DEFAULT);

INSERT 商品 (goods_name, Goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Mac Pro MD878CH/A Professional Desktop','server/Work station','Apple','28888',DEFAULT,DEFAULT);

商品を挿入 (goods_name,goods_cate) ,brand_name,goods_price,is_show,is_saleoff) VALUES(' HMZ-T3W ヘッドセット ディスプレイ デバイス','ラップトップ アクセサリ','Sony','6999',DEFAULT,DEFAULT);

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Business Backpage','Laptopaccessory','Sony','99',DEFAULT,DEFAULT);

を挿入します。

商品を挿入 (商品名,商品カテゴリー,ブランド名,商品価格,is_show,is_saleoff) VALUES('X3250 M4 サーバー 2583i14','サーバー/ワークステーション','IBM','6888',DEFAULT,DEFAULT);

商品を挿入 ( Goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Xuanlong ラップトップ ラジエーター','ラップトップ アクセサリ','Windgod','',DEFAULT,DEFAULT);

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES(' HMZ-T3W ヘッドセット ディスプレイ デバイス','ラップトップ アクセサリ','Sony','6999',DEFAULT,DEFAULT);

を挿入します。

商品 (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('Business Backpage','Laptop Accessories','Sony','99',DEFAULT,DEFAULT);

を挿入します。

---挿入...選択

INSERT [INTO] tbl_name [(col_name)] SELECT

使用するときはこのように、新しいテーブルを作成します

存在しない場合はテーブルを作成する cates(

cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

cate_name VARCHAR(40) NOT NULL

);

次に、元のデータテーブルにあるものを選択的に挿入します

CATES(CATE_NAME) に挿入 GOODS_CATE ごとに商品グループから GOODS_CATE を選択します;

カタログテーブルカテゴリに基づいてパラメータテーブルを更新する必要がある場合 - マルチテーブル更新

----複数のテーブルの更新

--複数のステップ

UPDATE table_ref SETcol_name=... ...

このうち、refはテーブルの参照関係です

ここにはINNER JOIN LEFT JOINなどの接続関係があります

最も単純なものはINNER、内なるつながりです

mysql> GOODS_CATE=CATE_NAME の GOODS 内部結合 CATES を更新します
-> SET GOODS_CATE=CATE_ID;

(小文字で入力していないことをご容赦ください...)

説明: 商品テーブルを更新し、カテゴリ テーブルを内部的に接続します。どのような条件下で - Goods_cate=cate_name、設定値は何か、カテゴリ テーブルの cate_id です

mysql> GOODSG から * を選択してください

--一歩

作成...選択...

つまり、テーブルの作成と接続されたデータの書き込みを同時に行うことです

ここでの例は次のとおりです: ブランドへの接続を更新する

mysql> ブランド名ごとに商品グループからブランド名を選択します;

mysql> 存在しない場合はテーブルを作成します brand(
-> brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> brand_name VARCHAR(40) NOT NULL
-> )
-> ブランド名ごとに商品グループからブランド名を選択します

INSERT操作を保存できます

ただし、現時点ではアップデートが失敗します

mysql> BRAND_NAME=BRAND_NAME の商品の内部結合ブランドを更新します
-> SET BRAND_NAME=BRAND_ID;
エラー 1052 (23000): チャンピオン: フィールド リストが曖昧です

名前が同じなので、フィールドを変更するか、エイリアス AS を使用する必要があります

mysql> 商品を G.BRAND_NAME=B.BRAND_NAME に結合ブランドとして更新します
-> G.BRAND_NAME=BRAND_ID;

外観は更新されましたが、たとえば、goods_cate の型は依然として varchar であり、実際にはメインテーブルでは int 型である必要があります。この時、フィールド名とデータ型を変更する必要があるため、ALTER CHANGEを使用します

mysql> テーブル GOODS を変更します
-> GOODS_CATE CATE_ID SMALLINT UNSIGNED NOT NULL、
-> BRAND_NAME BRAND_ID SMALLINT UNSIGNED NOT NULL;

この種の外部キーはファクト外部キーと呼ばれ、外部キーよりも多くの物理的な外部キーがあります

---接続

複数のテーブルの格納を実装しているため、表示やその他の要件により、複数のテーブルをリンクする必要があり、接続が必要です

データテーブル参照参照: tbl_name [[AS] エイリアス] table_subquery [AS] エイリアス

---内部結合

ON を使用して接続条件を設定します。通常、WHERE はさらなるフィルタリングを行います

内部接続、接続条件を満たすレコードのみを表示

GOODS.CATE_ID=CATES.CATE_ID;

GOODS.CATE_ID=CATES.CATE_ID の GOODS 内部結合 CATES から GOODS_ID、GOODS_NAME、CATE_NAME を選択します。

翻訳: Goods テーブルの Goods_id、 Goods_name、cate_name フィールドを選択しますが、表示する場合は、内部で cates テーブルを接続する必要があります (タイプの数値表現を表示したくないため)。条件は、ここでは、cate_id フィールドは等しいです。cate_id には別名が与えられていないため、テーブル名.cate_id

として記述されます。

この内部接続の表示には、オン条件の結果のみが表示されることがわかります

---外部結合

外部結合は左外部結合と右外部結合に分かれます

LEFT JOIN は、リンク条件を満たす左側のテーブルのすべてのレコードと右側のテーブルのレコードを表示します。 例は次のとおりです。

+----------+------------------------------------- -------------------------------------------------- ----------+---------------------+
|グッズID | GOODS_NAME | CATE_NAME |
+----------+------------------------------------- -------------------------------------------------- -------+---------------------+
| 1 | R510VC 15.6 インチ ノートパソコン |ラップトップ |
| 2 | Y400N 14.0 インチ ノートパソコン |ラップトップ |
| 3 | G150TH 15.6インチ ゲームブック |ゲームブック |
| 4 | X550CC 15.6 インチ ノートパソコン |ラップトップ |
| 5 | X240(20ALA0EYCD) 12.5インチウルトラブック |ウルトラブック |
| 6 | U330P 13.3 インチ ウルトラブック |ウルトラブック |
| 7 | SVP13226SCB 13.3 インチ タッチ ウルトラブック |ウルトラブック |
| 8 | iPad mini MD531CH/A 7.9インチ タブレット |タブレット |
| 9 | iPad Air MD788CH/A 9.7 インチ タブレット ?16G WiFi ビジョン? |タブレット |
| 10 | iPad mini ME279CH/A Retina スクリーン 7.9 インチタブレット ?16G WiFi ビジョン? |タブレット |
| 11 | IdeaCentre C340 20 インチ オールインワン |デスクトップ |
| 12 | Vostro 3800-R1206 デスクトップ |デスクトップ |
| 13 | iMac ME086CH/A 21.5インチ オールインワン |デスクトップ |
| 14 | AT7-7414LP デスクトップ ? i5-3450 4G 500G 2G 独立グラフィックカード DVD キーボード&マウス Linux ? |デスクトップ |
| 15 | Z220SFF F4F06PAワークステーション |サーバー/ワークステーション |
| 16 | PowerEdge T110 IIサーバー |サーバー/ワークステーション |
| 17 | Mac Pro MD878CH/A プロフェッショナル デスクトップ |サーバー/ワークステーション |
| 18 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 19 |ビジネスのバックページ |ラップトップアクセサリ |
| 20 | X3250 M4 サーバー 2583i14 |サーバー/ワークステーション |
| 21 | Xuanlong ラップトップ ラジエーター |ラップトップアクセサリ |
| 22 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 23 |ビジネスのバックページ |ラップトップ アクセサリ |
+----------+---------------------------------- -------------------------------------------------- --------+---------------------+
23 行セット (0.00 秒)

mysql>グッズの左側から GOODS_ID、GOODS_NAME、CATE_NAME を選択して GOODS の CATES に参加してください。CATE_ID=CATES.CATE_ID;
+----------+----------------- -------------------------------------------------- -------------------------+---------------------+
|グッズID | GOODS_NAME | CATE_NAME |
+----------+------------------------------------- -------------------------------------------------- -------+---------------------+
| 1 | R510VC 15.6 インチ ノートパソコン |ラップトップ |
| 2 | Y400N 14.0 インチ ノートパソコン |ラップトップ |
| 3 | G150TH 15.6インチ ゲームブック |ゲームブック |
| 4 | X550CC 15.6 インチ ノートパソコン |ラップトップ |
| 5 | X240(20ALA0EYCD) 12.5インチウルトラブック |ウルトラブック |
| 6 | U330P 13.3 インチ ウルトラブック |ウルトラブック |
| 7 | SVP13226SCB 13.3 インチ タッチ ウルトラブック |ウルトラブック |
| 8 | iPad mini MD531CH/A 7.9インチ タブレット |タブレット |
| 9 | iPad Air MD788CH/A 9.7 インチ タブレット ?16G WiFi ビジョン? |タブレット |
| 10 | iPad mini ME279CH/A Retina スクリーン 7.9 インチタブレット ?16G WiFi ビジョン? |タブレット |
| 11 | IdeaCentre C340 20 インチ オールインワン |デスクトップ |
| 12 | Vostro 3800-R1206 デスクトップ |デスクトップ |
| 13 | iMac ME086CH/A 21.5インチ オールインワン |デスクトップ |
| 14 | AT7-7414LP デスクトップ ? i5-3450 4G 500G 2G 独立グラフィックカード DVD キーボード&マウス Linux ? |デスクトップ |
| 15 | Z220SFF F4F06PAワークステーション |サーバー/ワークステーション |
| 16 | PowerEdge T110 IIサーバー |サーバー/ワークステーション |
| 17 | Mac Pro MD878CH/A プロフェッショナル デスクトップ |サーバー/ワークステーション |
| 18 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 19 |ビジネスのバックページ |ラップトップアクセサリ |
| 20 | X3250 M4 サーバー 2583i14 |サーバー/ワークステーション |
| 21 | Xuanlong ラップトップ ラジエーター |ラップトップアクセサリ |
| 22 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 23 |ビジネスのバックページ |ラップトップアクセサリ |
| 24 | LaserJet Pro P1606dn ブラック&ホワイト ブレザー プリンター | NULL |
+----------+------------------------------------- -------------------------------------------------- -------+---------------------+
24 行セット (0.00 秒)

注意最後の一つの记录の名前は null です

右結合はこれです

mysql> GOODS から GOODS_ID、GOODS_NAME、CATE_NAME を選択し、GOODS の CATES に右に参加してください。CATE_ID=CATES.CATE_ID;
+----------+----------------- -------------------------------------------------- -------------------------+---------------------+
|グッズID | GOODS_NAME | CATE_NAME |
+----------+------------------------------------- -------------------------------------------------- -------+---------------------+
| 1 | R510VC 15.6 インチ ノートパソコン |ラップトップ |
| 2 | Y400N 14.0 インチ ノートパソコン |ラップトップ |
| 3 | G150TH 15.6インチ ゲームブック |ゲームブック |
| 4 | X550CC 15.6 インチ ノートパソコン |ラップトップ |
| 5 | X240(20ALA0EYCD) 12.5インチウルトラブック |ウルトラブック |
| 6 | U330P 13.3 インチ ウルトラブック |ウルトラブック |
| 7 | SVP13226SCB 13.3 インチ タッチ ウルトラブック |ウルトラブック |
| 8 | iPad mini MD531CH/A 7.9インチ タブレット |タブレット |
| 9 | iPad Air MD788CH/A 9.7 インチ タブレット ?16G WiFi ビジョン? |タブレット |
| 10 | iPad mini ME279CH/A Retina スクリーン 7.9 インチタブレット ?16G WiFi ビジョン? |タブレット |
| 11 | IdeaCentre C340 20 インチ オールインワン |デスクトップ |
| 12 | Vostro 3800-R1206 デスクトップ |デスクトップ |
| 13 | iMac ME086CH/A 21.5インチ オールインワン |デスクトップ |
| 14 | AT7-7414LP デスクトップ ? i5-3450 4G 500G 2G 独立グラフィックカード DVD キーボード&マウス Linux ? |デスクトップ |
| 15 | Z220SFF F4F06PAワークステーション |サーバー/ワークステーション |
| 16 | PowerEdge T110 IIサーバー |サーバー/ワークステーション |
| 17 | Mac Pro MD878CH/A プロフェッショナル デスクトップ |サーバー/ワークステーション |
| 18 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 19 |ビジネスのバックページ |ラップトップアクセサリ |
| 20 | X3250 M4 サーバー 2583i14 |サーバー/ワークステーション |
| 21 | Xuanlong ラップトップ ラジエーター |ラップトップアクセサリ |
| 22 | HMZ-T3W ヘッドセット ディスプレイ デバイス |ラップトップアクセサリ |
| 23 |ビジネスのバックページ |ラップトップアクセサリ |
| NULL | NULL |アダプター |
| NULL | NULL |交換者 |
| NULL | NULL |ネットカード |
+----------+------------------------------------- -------------------------------------------------- -------+---------------------+
26 行セット (0.00 秒)

----多表接

mysql> G としての商品から GOODS_ID、GOODS_NAME、CATE_NAME、BRAND_NAME、GOODS_PRICE を選択します
->内部結合 CATES AS C ON G.CATE_ID=C.CATE_ID
->内部結合ブランドを B ON G.BRAND_ID=B.BRAND_ID;

每接続一表するには結合が必要です、注意起别名给データテーブル!

今回の表示は虽然跟一始まり一样ですが、现違い、意义大不一样

----無制限级分类表设计

一般实际中会出现無制限级データテーブル,不断往下分

举个例子

CREATE TABLE Goods_types(

type_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
type_name VARCHAR(20) NOT NULL,
parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0
);

INSERT Goods_types(type_name,parent_id) VALUES('家電',DEFAULT);
INSERT Goods_types(type_name,parent_id) VALUES('PC、Office',DEFAULT);
INSERT Goods_types(type_name,parent_id) VALUES('家電' ,1);
INSERT Goods_types(type_name,parent_id) VALUES('生活家電',1);
INSERT Goods_types(type_name,parent_id) VALUES('タブレット TV',3);
INSERT Goods_types(type_name,parent_id) VALUES( 'エアコン',3);
INSERT Goods_types(type_name,parent_id) VALUES('扇風機',4);
INSERT Goods_types(type_name,parent_id) VALUES('ウォーターディスペンサー',4);
INSERT Goods_types(type_name, parent_id) VALUES('完成機',2);
INSERT Goods_types(type_name,parent_id) VALUES('アクセサリ',2);
INSERT Goods_types(type_name,parent_id) VALUES('ラップトップ',9);
INSERT Goods_types( type_name,parent_id) VALUES('Ultrabook',9);
INSERT Goods_types(type_name,parent_id) VALUES('Gamebook',9);
INSERT Goods_types(type_name,parent_id) VALUES('CPU',10);
INSERT Goods_types (type_name,parent_id) VALUES('ホスト コンピューター',10);

mysql> SELECT * FROM GOODS_TYPES;
+---------+------------------+-----------+
|タイプID |タイプ名 |親 ID |
+-----------+---------------------+-----------+
| 1 |ホームエレクトロニクス | 0 |
| 2 |パソコン?オフィス | 0 |
| 3 |家電 | 1 |
| 4 |生活家電 | 1 |
| 5 |タブレットテレビ | 3 |
| 6 |エアコン | 3 |
| 7 |扇風機 | 4 |
| 8 |ウォーターディスペンサー | 4 |
| 9 |完成したマシン | 2 |
| 10 |アクセサリー | 2 |
| 11 |ラップトップ | 9 |
| 12 |ウルトラブック | 9 |
| 13 |ゲームブック | 9 |
| 14 | CPU | 10 |
| 15 |ホストコンピュータ | 10 |
+-----------+---------------------+-----------+

注意parent_id,是変更点の级别,比如0,表示家電無し父节点,是个顶级节点

查找の実現は、自分自身の接続によって完了します

---自己接続

举个例,表示すべてのクラスの父类は何ですか

ここで、自分自身の接続は、右边有一模一样の表を想起することができます(左边も可、いくつかの西稍微变一下行)

mysql>左の GOODS_TYPES から S.TYPE_ID、S.TYPE_NAME、P.TYPE_NAME を選択し、P として GOODS_TYPES に結合します
-> ON S.PARENT_ID=P.TYPE_ID;
+---------+---------------------+---------- --------+
|タイプID |タイプ名 | TYPE_NAME |
+----------+----------------------+----------------- -+
| 1 |ホームエレクトロニクス | NULL |
| 2 |パソコン?オフィス | NULL |
| 3 |家電 |家電 |
| 4 |生活家電 |家電 |
| 5 |タブレットテレビ |家電 |
| 6 |エアコン |家電 |
| 7 |扇風機 |生活家電 |
| 8 |ウォーターディスペンサー |生活家電 |
| 9 |完成したマシン | PC?オフィス |
| 10 |アクセサリー | PC?オフィス |
| 11 |ラップトップ |完全なマシン |
| 12 |ウルトラブック |完全なマシン |
| 13 |ゲームブック |完全なマシン |
| 14 | CPU |アクセサリー |
| 15 |ホストコンピュータ |アクセサリー |
+-----------+---------------------+----------------- -+

翻訳一下、つまり、条件から先に、子表内のparent_id=父表内のtype_idを選択することができ、子表のtype_id、type_name、および父表のtype_nameが表示され、ここの項目は句名に含めることができます。末尾处显表示

要これを把握するための先说说/想想を明確にし、再翻訳してsql语句

反过来、查找すべてのクラスの子クラス

先考虑逻辑关系:当父表のtype_id=子表のparent_id時,P.TYPE_ID,P.TYPE_NAME,S.TYPE_NAME ——再写出语句

mysql> GOODS_TYPES から P.TYPE_ID、P.TYPE_NAME、S.TYPE_NAME を選択して左側に GOODS_TYPES を結合します
-> ON P.TYPE_ID=S.PARENT_ID;
+---------+---------------------+---------- --------+
|タイプID |タイプ名 | TYPE_NAME |
+----------+----------------------+----------------- -+
| 1 |ホームエレクトロニクス |家電 |
| 1 |ホームエレクトロニクス |生活家電 |
| 3 |家電 |タブレットテレビ |
| 3 |家電 |エアコン |
| 4 |生活家電 |扇風機 |
| 4 |生活家電 |ウォーターディスペンサー |
| 2 |パソコン?オフィス |完全なマシン |
| 2 |パソコン?オフィス |アクセサリー |
| 9 |完成したマシン |ラップトップ |
| 9 |完成したマシン |ウルトラブック |
| 9 |完成したマシン |ゲームブック |
| 10 |アクセサリー | CPU |
| 10 |アクセサリー |ホスト コンピューター |
| 5 |タブレットテレビ | NULL |
| 6 |エアコン | NULL |
| 7 |扇風機 | NULL |
| 8 |ウォーターディスペンサー | NULL |
| 11 |ラップトップ | NULL |
| 12 |ウルトラブック | NULL |
| 13 |ゲームブック | NULL |
| 14 | CPU | NULL |
| 15 |ホストコンピュータ | NULL |
+----------+---------------------+----------------- -+

再复杂一点、そして留给你们自己翻訳

mysql> SELECT P.TYPE_ID,P.TYPE_NAME,COUNT(S.TYPE_NAME) CHILD_COUNT FROM GOODS_TYPES AS P LEFT GOODS_TYPES AS S に参加
-> ON P.TYPE_ID=S.PARENT_ID P.TYPE_NAME によるグループ ORDER BY P.TYPE_ID;
+---------+------------------+ -------------+
|タイプID |タイプ名 | CHILD_COUNT |
+-----------+------------------+-------------+
| 1 |ホームエレクトロニクス | 2 |
| 2 |パソコン?オフィス | 2 |
| 3 |家電 | 2 |
| 4 |生活家電 | 2 |
| 5 |タブレットテレビ | 0 |
| 6 |エアコン | 0 |
| 7 |扇風機 | 0 |
| 8 |ウォーターディスペンサー | 0 |
| 9 |完成したマシン | 3 |
| 10 |アクセサリー | 2 |
| 11 |ラップトップ | 0 |
| 12 |ウルトラブック | 0 |
| 13 |ゲームブック | 0 |
| 14 | CPU | 0 |
| 15 |ホストコンピュータ | 0 |
+----------+---------------------+---------------+

----多表删除

基本的な思路も一张表模倣多张表による操作

懒了、直接复制看吧、要求了再去做

-- 挿入 ... 選択实现复制

商品(商品名,商品ID,ブランドID)を挿入します商品名,商品ID,ブランドIDをFROM商品WHERE商品ID IN (19,20);

-- 查找重复记录

商品 GROUP BY 商品名 HAVING count(商品名) >= 2;から商品 ID、商品名を選択します

-- 删除重复记录

DELETE t1 FROM Goods AS t1 LEFT JOIN (SELECT Goods_id,goods_name FROM Goods GROUP BY Goods_name HAVING count(goods_name) >= 2 ) AS t2 ON t1.goods_name = t2.goods_name WHERE t1.goods_id > t2.goods_id;

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1068252.html技術記事または周六完了-MySQL 特話、-MySQL こんにちは、また周六、または磨蹭一上午~午饭後の開始第 1、MySQL -----子查询と接続(三)----- - ---INSERT...SELECT插入记录...を使用します
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Go语言和MySQL数据库:如何进行数据冷热分离处理?Go语言和MySQL数据库:如何进行数据冷热分离处理?Jun 18, 2023 am 08:26 AM

随着数据量的不断增加,数据库的性能成为了一个越来越重要的问题。数据冷热分离处理是一种有效的解决方案,它可以将热点数据和冷数据进行分离,从而提高系统的性能和效率。本文将介绍如何使用Go语言和MySQL数据库进行数据冷热分离处理。一、什么是数据冷热分离处理数据冷热分离处理是一种将热点数据和冷数据进行分类处理的方式。热点数据是指访问频率高、对性能要求高的数据,冷数

使用Go语言进行MySQL数据库的数据增量备份的方法使用Go语言进行MySQL数据库的数据增量备份的方法Jun 17, 2023 pm 02:28 PM

随着数据量的增加,数据库的备份变得越来越重要。而对于MySQL数据库,我们可以借助Go语言实现自动化的增量备份。本篇文章将简单介绍如何使用Go语言进行MySQL数据库的数据增量备份。一、安装Go语言环境首先,我们需要在本地安装Go语言环境。可以前往官网下载相应的安装包并进行安装。二、安装相应的库Go语言提供了许多访问MySQL数据库的第三方库,其中较为常用的

如何使用MySQL数据库进行时间序列分析?如何使用MySQL数据库进行时间序列分析?Jul 12, 2023 am 08:39 AM

如何使用MySQL数据库进行时间序列分析?时间序列数据是指按照时间顺序排列的数据集合,它具有时间上的连续性和相关性。时间序列分析是一种重要的数据分析方法,可以用于预测未来趋势、发现周期性变化、检测异常值等。在本文中,我们将介绍如何使用MySQL数据库进行时间序列分析,并附上代码示例。创建数据表首先,我们需要创建一个数据表来存储时间序列数据。假设我们要分析的数

如何使用Go语言进行可靠的MySQL数据库连接?如何使用Go语言进行可靠的MySQL数据库连接?Jun 17, 2023 pm 07:18 PM

随着大量的数据需要存储和处理,MySQL已经成为了应用开发中最常用的关系型数据库之一。而Go语言由于其高效并发处理和简洁的语法,也越来越受到开发者的欢迎。本文就将带领读者通过Go语言实现可靠的MySQL数据库连接,让开发者能够更加高效地查询和存储数据。一、Go语言连接MySQL数据库的几种方式Go语言中连接MySQL数据库通常有3种方式,分别是:1.第三方库

使用Go语言进行MySQL数据库的数据迁移的方法使用Go语言进行MySQL数据库的数据迁移的方法Jun 17, 2023 am 09:01 AM

随着业务的增长和数据库版本升级等因素,数据库迁移变得越来越普遍。在进行数据迁移时,选择合适的工具和语言非常重要。本文将介绍如何使用Go语言进行MySQL数据库的数据迁移。安装MySQL驱动在使用Go语言进行MySQL数据库迁移前,需要首先安装MySQL驱动。在Go语言中,有很多MySQL驱动可供选择。在本文中,我们将选择最常用的官方MySQL驱动包-"dat

MySQL数据库和Go语言:如何进行数据缓存处理?MySQL数据库和Go语言:如何进行数据缓存处理?Jun 17, 2023 am 10:05 AM

近年来,Go语言越来越受到开发人员的青睐,成为开发高性能Web应用程序的首选语言之一。MySQL也作为一种流行的数据库,使用广泛。在将这两个技术结合起来使用的过程中,缓存处理是非常重要的一环。下面将介绍如何使用Go语言来处理MySQL数据库的缓存。缓存的概念在Web应用程序中,缓存是为了加快数据的访问速度而创建的一种中间层。它主要用于存储经常被请求的数据,以

MySQL创建标签表实现文章标签功能的实现步骤MySQL创建标签表实现文章标签功能的实现步骤Jul 02, 2023 pm 04:17 PM

MySQL创建标签表实现文章标签功能的实现步骤标签是一种常用的分类方式,它可以帮助我们更好地组织和检索文章。在许多网站和应用程序中,都会有文章标签的功能。本文将介绍如何使用MySQL创建标签表,并实现文章标签的功能。步骤1:创建标签表首先,我们需要创建一个用于存储标签的表。在MySQL中,可以使用以下命令创建标签表:CREATETABLEtags(

使用Go语言进行MySQL数据库的数据导入导出过滤的方法使用Go语言进行MySQL数据库的数据导入导出过滤的方法Jun 17, 2023 pm 04:04 PM

随着互联网和大数据时代的到来,数据处理成为了一项必备的技能。MySQL作为目前世界上最流行的关系型数据库管理系统,一直以来在数据处理领域受到了广泛的应用。MySQL具有性能高、易用性好、灵活性强等优点,但数据导入导出过程中可能会存在重复或无效数据,因此本文将介绍如何使用Go语言进行MySQL数据库的数据导入导出过滤的方法。一、环境搭建安装MySQL数据库在开

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン