テーブルデータの挿入、更新、作成、変更

1.製品分類テーブルを作成します

考え

現在、商品テーブルは1つしかないので、次のような商品分類情報を追加したいと思います。モバイルデバイス分類情報、商品テーブルを介してのみ商品分類の追加を完了できない場合、商品分類情報を追加するにはどうすればよいですか。

回答:

  1. 商品分類テーブルを作成し、商品テーブルの商品分類情報をテーブルに追加します。
  2. 商品テーブルのカテゴリ名を、商品カテゴリテーブルの対応するカテゴリIDに変更します。

 

1.製品分類テーブルを作成します

-- 创建商品分类表
create table good_cates(
    id int not null primary key auto_increment, 
    name varchar(50) not null
);

 

2.商品テーブルの商品カテゴリを商品カテゴリテーブルに追加します

-- 查询goods表中商品的分类信息
select cate_name from goods group by cate_name;

-- 将查询结果插入到good_cates表中
insert into good_cates(name) select cate_name from goods group by cate_name;

-- 添加移动设备分类信息
insert into good_cates(name) values('移动设备');

説明:

  • insert into .. select ..は、クエリ結果を指定されたテーブルに挿入します。つまり、テーブルのコピーです。

 

次に、商品テーブルの商品分類情報を更新します

上記では、商品分類テーブル(good_cates)を作成し、商品分類情報の挿入を完了しました。次に、商品テーブルの商品分類情報を更新し、商品分類名をネゴシエーション分類IDに変更する必要があります。

次に、2番目のステップを実装します。

  • 商品テーブルのカテゴリ名を、商品カテゴリテーブルの対応するカテゴリIDに変更します。
-- 查看goods表中的商品分类名称对应的商品分类id
select * from goods inner join good_cates on goods.cate_name = good_cates.name;

-- 把该语句中from 后的语句理解为一张虚表  
update goods g inner join good_cates gc on g.cate_name=gc.name set g.cate_name=gc.id;

 

3つ目は、テーブルを作成してフィールドにデータを追加することです。

1.考える

前のレッスンでは、製品分類テーブル(good_cates)の作成と製品分類情報の追加を完了し、製品テーブル(goods)の製品分類名を対応する製品分類IDに変更しました。追加する場合ブランド、たとえば、Shuang Feiyanのブランド情報は商品テーブルから追加できません。ブランド情報を追加するにはどうすればよいですか?

回答:

  1. ブランドテーブルを作成し、商品テーブルのブランド情報をテーブルに追加します。
  2. 商品テーブルのブランド名を、ブランドテーブルの対応するブランドIDに変更します。

 

1.ブランドテーブルを作成します

-- 查询品牌信息 
select brand_name from goods group by brand_name;

-- 通过create table ...select来创建数据表并且同时插入数据
-- 创建商品分类表,注意: 需要对brand_name 用as起别名,否则name字段就没有值
create table good_brands (     
id int unsigned primary key auto_increment,     
name varchar(40) not null) select brand_name as name from goods group by brand_name;

説明:

  • テーブルの作成..列名の選択:テーブルを作成してデータを挿入することを意味します

 

2.商品テーブルのブランド情報を更新します

-- 将goods表中的品牌名称更改成品牌表中对应的品牌id
update goods as g inner join good_brands gb on g.brand_name = gb.name set g.brand_name = gb.id;

 

第四に、商品テーブル構造を変更します

現在、goodテーブルの商品カテゴリとブランド情報を商品カテゴリIDとブランドIDに変更しました。次に、cate_nameフィールドとbrand_nameフィールドをcate_idフィールドとbrand_idフィールドに変更し、タイプをintタイプに変更する必要があります。

-- 查看表结构
desc goods;
-- 通过alter table语句修改表结构
alter table goods change cate_name cate_id int not null, change brand_name brand_id int not null;

説明:

  • アラートテーブルは、複数のフィールド情報を同時に変更できます

 

V.まとめ

  • テーブルのコピーを完了するには、次を使用できます。insertinto .. select ..SQLステートメント
  • テーブル内のデータを接続して更新するには、次を使用します。update.. join ..ステートメント
  • テーブルを作成してフィールドにデータを挿入するには、次を使用します。createtable ..selectステートメント
  • テーブル構造を変更するには、次を使用できます。altertableステートメント、変更された複数のフィールドはコンマで区切られます

おすすめ

転載: blog.csdn.net/weixin_48135624/article/details/115240581