あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「SQLでのデータ追加/更新/削除の基礎」を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「「相関副問合せ」の見分け方」はこちら
出題頻度 午前II:--- 午後I:●-- 午後II:---
●--:過去14年間での過去問出題数が1〜9回
●●-:過去14年間での過去問出題数が10〜19回
●●●:過去14年間での過去問出題数が20回以上
●INSERT文によるデータ追加処理、UPDATE文によるデータ更新処理、DELETE文によるデータ削除処理
SQLには、データ定義言語(DDL : Data Definition Language)とデータ操作言語(DML : Data Manipulation Language)の2種類があります。
ここではデータ操作言語について説明します。
以下はINSERT文の基本的な使用方法です。表に行を追加します。
構文1 | INSERT INTO テーブル名(列名1, 列名2, …) |
---|---|
VALUES(値1, 値2, …) | |
構文2 | INSERT INTO テーブル名(列名1, 列名2, …) (SELECT 文) |
テーブル名 | データを追加するテーブル |
列名 | データを追加する列名 |
値 | 追加するデータの値 |
SELECT 文 | 追加するデータの値(SELECT 文の処理結果を追加する) |
以下のSQL文では、実データの値を用いてデータを追加しています。
INSERT INTO 部門( 部門コード, 部門名, 上席部門コード) VALUES( '1300', '第3営業部', '1000')
以下のSQL文では、下図のようにSELECT文の結果を追加します。
INSERT INTO 部門( 部門コード, 部門名) SELECT発注部門コード, 発注部門名 FROM 発注
以下はUPDATE文の基本的な使用方法です。表の値を更新します。
構文 | UPDATE テーブル名 SET 列名=値 WHERE 条件式 |
---|---|
テーブル名 | データを更新するテーブル |
列名 | データを更新する列 |
値 | 更新するデータの値 |
条件式 | データを更新する行の条件(省略すると全ての行の値を更新) |
以下の例では、取引先テーブルにおける、取引先名が「A社」である行の、全ての取引先名を「B社」に変更します。
UPDATE 取引先 SET 取引先名='B社' WHERE 取引先名='A社'
以下はDELETE文の基本的な使用方法です。表の行を削除します。
構文 | DELETE FROM テーブル名 WHERE 条件式 |
---|---|
テーブル名 | データを削除するテーブル |
条件式 | データを削除する行の条件 |
以下の例では、取引先テーブルにおける、取引先名が「A社」である全ての行を削除しています。
DELETE FROM 取引先 WHERE 取引先名='A社'
本分野は実務では非常に良く使いますが、試験では午前・午後ともにあまり出題されません。DMLには「SELECT:検索」に加えて「UPDATE:更新」「INSERT:追加」「DELETE:削除」があると覚えておいて下さい。
ポケットスタディ データベーススペシャリスト [第2版]
具志堅融、河科湊著
秀和システム 1,500円
データベーススペシャリスト試験は同じパターンの出題が多いため、過去問をたくさん解くことが合格の早道です。しかし、難易度の高い過去問を解くには、勉強が必要であり、多くの時間と労力を必要とします。本書は、プロの講師が推奨する、テキストを少し読み→該当する過去問を解き→理解を深めるというアジャイル的学習法で、驚くほど短時間で合格するツボとコツを解説します。"すき間時間"を活用して効果的な学習ができます!
Copyright © ITmedia, Inc. All Rights Reserved.