3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.

Slides:



Advertisements
Similar presentations
ASP 入門2 ー授業でアンケート集計ー. ねらい 総合実習等で、相互評価を行った際の集計を ASP + AccessDB で行う。 相互評価の点数部分は見られないように、感 想部分(テキスト)は見えるようにする。 ( 発表直後のフィードバック ) AccessDB に蓄積した得点は、 Excel.
Advertisements

Accessによるデータベース(1) Ver.1 /11.
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
UNIX利用法.
PROCESS 14:一般情報(2) InstallShieldLecture
UNIX利用法 情報ネットワーク特論資料.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
SQLite3
インターネット技術特論 H:SQLite3 山口 実靖
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
PostGIS - 1 (入門編).
SQL データベースアクセスのための文法と MySQL
SQLエディタによる データベースプログラミング
知的システム構築工房   Linux設定セミナーシリーズ 第6回 MySQL設定 2011年3月17日(木) 株式会社 アセンディア 1.
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
IO - 入出力 小西 亨.
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
MySQLに接続するデータベースプログラム
Linux リテラシ 2006 第2回 基本コマンド2.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
ISD実習E 2009年7月13日 LISPシステム入門 (第6回) 関数の定義 eval load 関数.
Excel による データベース入門 Ver /9.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
SQL J2EE I 第3回 /
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
09 06/23 PHP と SQL (MySQL) の連携 その2
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
14.テーブル定義,一対多の関係,多対多の関係, 外部キー,索引(インデックス),データベース操作
マイクロソフト Access を使ってみよう 第1回
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
データベースとJavaをつなげよう! ~JDBC~
データベース基礎 2016年3月10日 JWord株式会社 サービス開発部 中川 陽平.
第2回 SQL インジェクション その攻撃と対処 NECラーニング 山崎 明子.
2004/05/13 3-4 データ型(カラムタイプ) について 発表者:藤村元彦 自然言語処理研究室.
SQL パフォーマンス チューニング ~ カバーリングインデックス/クエリヒントの利用~
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL パフォーマンス チューニング ~ プランガイドの利用~
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
PHP と SQL (MySQL) の連携 複数のテーブルを扱う
09 06/23 PHP と SQL (MySQL) の連携 その1
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
「Webデータベースの構築技術」正誤表 ページ 項目 誤記 訂正 18 表1.4 アクセス 権限の削除 ・・・テーブル名 TO ユーザ名
マイクロソフト Access での SQL 演習 第4回 並べ替え(ソート)
テーブル設計を後から変更 現場で使える小技のご紹介 株式会社ジーワンシステム 生島 勘富(イクシマ サダヨシ)
09 06/23 PHP と SQL (MySQL) の連携 その2
7-3. 移行データ登録簡易マニュアル Version 1.0
データベース設計 第8回 クライアント=サーバーモデル(2)
マイクロソフト Access での SQL 演習 第2回 集計,集約
3-8・関数を使ってデータを取り出す   2004年6月3日(木) 01T6010F               大北高広.
3.リレーショナルデータベース,主キー, SQL
プログラミング演習I 2003年7月2日(第11回) 木村巌.
再帰CTE を使って遊ぼう 大阪#9 2012/04/14.
関係データベースとSQL MZ Platform講習会(上級).
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
Molecular Devices Japan
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
SQL J2EE I (データベース論) 第3回 /
クリエイティブ リサーチ 2019/05/20 日本工学院八王子専門学校 M.Katsube.
SQL データベース論 第11回.
Presentation transcript:

3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟

テーブルを更新する(P69~79) テーブルにレコードがすでに入力されており、それらを変更する場合は、「データの更新」を行う。また、追加や削除にも所定の操作が必要になり、追加の際にはファイルからの一括追加も可能である。

データを変更する データの更新にはupdate文を使う。更新の際には必ずwhere句を使って、更新対象のレコードを指定する。 mysql> update FRIENDS_T set ADD_C =  -> “北海道函館市何処町1-1-1”where ID_C = “1”; where句で更新対象のデータを指定しないでupdateコマンドを発行すると、すべてのレコードのカラムが変わってしまうので注意。

また更新するカラムとそのカラムのデータをwhere以下に指定して、レコードを更新することも可能。 mysql> update FRIENDS_T set ADD_C=  -> “北海道函館市何処町1-1-1”where ID_C = -> “東京都千代田区何処町1-1-1” この場合は、where以下で指定する語句が1字でも異なると、「該当データがない」ということになり、更新できない。

データの削除 データを削除する場合、データの更新同様、where句で削除するレコードの条件を指定し、deleteコマンドを発行する。 mysql> delete from FRIENDS_T where ID_C = “4” 上のコマンドでIDが4の出雲友子さんが削除される。 条件に該当するレコードが2つ以上あれば、それらすべてが消えてしまう。

レコード中の特定のカラムのデータのみを消すときは、Null値もしくは“”(空文字)にカラムのデータを置き換えるようにする。 mysql> update FRIEND_T set ADD_C = null where ID_C = 3; 上のコマンドでID_Cが3の友田知香さんの住所がNullになる。 次のコマンドで友田さんの内容を確認すると、 mysql> select * from FRIENDS_T where NAME_C like “友田%”;

+---+---- - + ----+ |ID_C |NAME_C |ADD_C | | 3 |友田知香 | NULL |  友田さんの住所がNull値なっていることが認できる。 Null値とは「何も入っていない」を意味し、入力するときは“”で囲んではいけない。

ファイルからのデータ入力 [friends.csv] 3,友田知香,青森県青森市何処町2-2-2 4,出雲友子,岩手県青森市何処町2-3-3 5,是田良友,埼玉県さいたま市何処町3-2-7 上のカンマ区切りのデータ、friends.csvをテーブルに読み込むときは、

1.MySQLの導入されたマシンの上の書き込み権限のあるディレクトリにfriends.csvを置く。 mysql> load data infile -> “/directory_names/friends.csv” -> into table FRIENDS_NEW fields terminated by “,”; 「 /directory_names/ 」の中は,データファイルがある場所を絶対パスで記述する。 2行目以降を読み込む場合は,上のSQLコマンドの最後に -> ignore 1 lines; を付け足す。

他のテーブルのデータを入力 コピー元のテーブルFRIENDS_T2をコピー先のテーブルFRIENDS_T2_COPYにすべてのデータを流し込むには、 mysql> insert into FRIENDS_T2_COPY select * from -> FRIENDS_T2;

カラムを個別に指定してデータを追加する場合は  カラムを個別に指定してデータを追加する場合は mysql> insert into -> FRIENDS_T2_COPY(ID_C2,NAME _C2,BLOOD_C2) select -> ID_C,NAME_C,BLOOD_C from FRIENDS_T2;  とすることでFRIENDS_T2の 3カラム分のレコードがFRIENDS_T2_COPYへコピーされる。

カラムを操作する カラムの追加 既存のテーブルのカラムを増やす場合は, 「alter table テーブル名 add カラム名 データ型」が基本構造となる。 mysql> alter table FRIENDS_T add AGE_C int;  上のコマンドで既存のテーブルに整数型の年齢カラムが追加される。  この場合、AGE_Cは既存のカラムの最後に追加される。

追加する位置を指定する場合 既存のカラムの最初に追加する場合は「first」を付け足す。 mysql> alter table FRIENDS_T add AGE_C01 int first; 上のコマンドでAGE_C01というカラムが先頭に追加される。

指定した既存のカラムのあとに追加する時は、コマンドに「arter カラム名」を付け足す。 mysql> alter table FRIENDS_T add AGE_C02 int after -> NAME_C; 上のコマンドで名前カラムの後に年齢カラムAGE_C02が追加される。

カラムの削除 既存のテーブルから不要なカラムを削除する場合は、「alter table テーブル名 drop カラム名」というコマンドを使う。 mysql> alter table FRIENDS_T drop AGE_C01; このコマンドで前に作成したAGE_C01が削除される。 「drop」で削除すると確認のメッセージなしに実行されるので注意。

ー> int; 上のコマンドでAGE_C02がAGE_C00に変更されます。 カラム名の変更 既存のテーブルからカラムの名前を変更する場合は、 「alter table テーブル名 change 現在のカラム名 新カラム名 データ型」が基本構造。 mysql> alter table FRIENDS_T change AGE_C02 AGE_C00 ー> int; 上のコマンドでAGE_C02がAGE_C00に変更されます。

カラムの定義の変更 既存のテーブルからカラムのデータ型や属性を変更する場合は、 mysql> alter table FRIENDS_T change AGE_C00 AGE_C00 ー> tinyint; 上のコマンドでデータ型がintからtinyintに変更される。 文字列型のデータのカラムを数値型に変更する場合、数値でないカラムのデータはすべて0に変わってしまうので注意。

  「alter table テーブル名 modify カラム名 新データ型」のコマンドで同様にカラムのデータ型と属性だけを変更するとができる。 mysql> alter table FRIENDS_T modify AGE_C00 int; 上のコマンドでAGE_C00のデータ型が intに変更される。

テーブルを操作する テーブル名の変更 「alter table 現在のテーブル名 rename as 新テーブル名」の構文で既存のテーブル名を変更する。 mysql> alter table FRIENDS_T rename as FRIENDS_T2; 上のコマンドで既存のテーブル名FRIENDS_Tが新テーブル名FRIENDS_T2に変更される。

テーブルの削除 テーブルを削除する場合は mysql> drop table FRIENDS_T02; このコマンドでFRIENDS_T02は削除される。 2つ以上のテーブルを一度に削除する場合は,テーブル名を「,」で区切って記述する。

 また、指定したテーブルが存在しない場合は 「ERROR 1051:Unknown table」 というエラーが表示されるが、 mysql> drop table if exists TTTT,TTTT2; のように、「if exists」を付け加えると存在しないテーブル名TTTT、TTTT2を削除しようとしてもエラー表示は出ない。

DBを削除する DBに対する可能な操作は、DBの削除だけで、既存のDBの名前を変更することはできない。 DB名を変更したい場合は、mysqldumpでファイルにバックアップし、新しい名前のDBを作った後、その中へバックアップしたファイルの内容を流し込む。

mysql> drop database DB_NAME; 上のコマンドでデータベースDB_NAMEとその中のテーブルすべてが削除される。 また、「if exists」を入れることでDBが存在しなくてもエラー表示は出なくなる。