1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
#(21)データの更新 -- (1)新規の行を追加 insert into insert into products(name,price) values('新商品A',1000); select * from products;#追加されたか確認する -- (2)新規の行を追加 列リストを省略した書き方(非推奨) insert products values(1002,'新商品B',2000); select * from products; -- (3)行を複数追加する insert into products(name,price) values ('新商品C',3000), ('新商品D',4000), ('新商品E',5000); select * from products; -- (4)データのアップデート update 商品価格を10%ディスカウント select * from products; set sql_safe_updates=0;#リミッターの解除 update products set price=price*0.9; -- (5)特定の条件に合致するデータのみをアップデートする select * from products where id=3; update products set name='SQL入門', price=1000 where id =3; select * from products where id=3;#確認 -- (6)更新条件にサブクエリを使用する #累計販売数が10を超えている商品は価格を5%UPする #まずは条件に入るリストを作成する。あとでこの部分がサブクエリとなる select product_id, sum(product_qty) from order_details group by product_id having sum(product_qty)>=10; #アップデートする update products set price=price*1.05 where id in ( select product_id -- sum(product_qty) from order_details group by product_id having sum(product_qty)>=10 ); select * from products; -- (7)行の削除 delete select * from products_categories; delete from products_categories; select * from products_categories;#確認 -- (8)条件を指定して 行を削除 select * from products where id=1001; delete from products where id=1001;#注意:where句を忘れると全部消える select * from products where id=1001;#確認 -- (9)削除条件に サブクエリを使う #一個も売れていない商品を消す select product_id from order_details group by product_id; #消す delete from products where id not in ( select product_id from order_details group by product_id ); select * from products;#確認 |
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日