ラベル MySQL の投稿を表示しています。 すべての投稿を表示
ラベル MySQL の投稿を表示しています。 すべての投稿を表示

Android データがなければInsert、あればUpdate

データがなければInsert、あればUpdateを行いたい時があると思います。
UPDATE と INSERT をもじって、UPSERT と呼ぶそうです。へぇ~

SELECTの結果が0件ならINSERTそれ以外はUPDATEとしてもよいのかもしれませんが
これを1つのSQLで実行することができます。

Oracleでは 「MERGE」

主キーに該当するデータがあればUPDATE、なければINSERTを行います。

    MERGE INTO 表名1 [エイリアス名]
    USING 表名2 | 副問い合わせ [エイリアス名] 
    ON ( 結合条件 )
    WHEN MATCHED THEN
     UPDATE SET カラム名 = 値, …
    WHEN NOT MATCHED THEN
     INSERT (カラム名, … )
     VALUES ( 値, … );


MySQLでは 「REPLACE」 または 「INSERT ON DUPLICATE KEY UPDAT」

INSERT ON DUPLICATE KEY UPDATでは主キーに該当するデータがあればUPDATE、なければINSERTを行います。
REPLACEでは主キーに該当するデータがあればDELTE後INSERTを行い、なければUPDATEを行います。
ただし、検索条件が主キーではないとき、該当データを削除しUPDATEを行います。

   
    INSERT INTO 表名 (カラム名1, カラム名2, ...)
    VALUES (値1, 値2, ...)
    ON DUPLICATE KEY UPDATE カラム名x=値x,カラム名y=値y, ...;


SQLiteでは 「REPLACE」 または 「INSERT OR REPLACE」

こちらはMySQLと違ってINSERT OR REPLACEの別名がREPLACEなので機能は同じで、
主キーに該当するデータがあればUPDATE、なければINSERTを行います。

   
    REPLACE INTO 表名(カラム名) VALUES (値);

MySQLのインストール(Windows) その3

MySQLの環境設定



MySQLの環境設定ウィザードが起動します。
Next」ボタンをクリックします。


デフォルトの「Detailed Configuration」のまま、「Next」ボタンをクリックします。


デフォルトの「Developer Machine」のまま、「Next」ボタンをクリックします。


デフォルトの「Multi Function Database」のまま、「Next」ボタンをクリックします。


デフォルトのまま、「Next」ボタンをクリックします。


デフォルトの「Decisison Support(DSS)/OLAP」のまま、「Next」ボタンをクリックします。


デフォルトの「Enable TCP/IP Networking」を選択し、「Port Number」も既定の「3306」のままとし、「Next」ボタンをクリックします。


デフォルトの「Install As Windows Service」と、「Inclue Bin Directory in Windows PATH」もチェックし、「Next」ボタンをクリックします。



「Modify Security Settings」をチェックし、「 New root password 」欄に root用パスワードを記入し、「Confirm」欄に rootパスワードをもう1回入力し、「Next」ボタンをクリックします。


「Execute」ボタンをクリックします。


正常に環境設定が完了すれば、下記ダイアログボックスが表示されます。「Finish」ボタンをクリックし、環境設定ウィザ-ドを終了します。

テーブルを削除する


DROP TABLE テーブル名;

フィールドの一覧を表示する。


SHOW FIELDS FROM テーブル名;

データベースに接続する

データベースに接続する



USE データベース名

テーブルの一覧を表示する


SHOW TABLES;


データベースを削除する


DROP DATABASE データベース名;

データベースの一覧を表示する


SHOW DATABASES;

テーブルを作成する


CREATE TABLE item (
item_id int(10) NOT NULL auto_increment,
item_name varchar(255) NOT NULL default '',
author_id int(11) NOT NULL default '0',
publisher_id int(11) NOT NULL default '0',
isbn varchar(64) NOT NULL default '',
release_date datetime NOT NULL default '0000-00-00 00:00:00',
list_price decimal(10,0) NOT NULL default '0',
sale_price decimal(10,0) NOT NULL default '0',
category_id int(11) NOT NULL default '0',
state int(11) NOT NULL default '0',
image_url varchar(255) NOT NULL default '',
description text NOT NULL,
PRIMARY KEY (item_id),
KEY ship_date (release_date),
KEY list_price (list_price),
KEY sale_price (sale_price),
KEY state (state),
KEY author_id (author_id),
KEY publisher_id (publisher_id),
KEY category_id (category_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;


データベースを作成する


CREATE DATABASE データベース名


MySQLのインストール(Windows) その2

MySQLのインストール


ダウンロードし、解凍して表示された「Setup.exe」ファイルをダブルクリックしインストールを開始します。


① MySQLのセットアップウィザードが起動します。
「Next」ボタンをクリックします。


②「SetUpType」を選択し、「Next」ボタンをクリックします。
「SetuUpType」は、
インストール先のフォルダをデフォルトのままでよい場合は「Typical」を
インストール先のフォルダを変更する場合は「Custom」を選択します。

*インストール先のフォルダを変更したいので「Custom」を選択しました。


③「Change」ボタンでインストール先のフォルダを変更し、「Next」ボタンをクリックします。


④「Install」ボタンをクリックし、インストールを開始します。


⑤「Next」ボタンをクリックします。


⑥引き続き、環境設定を行うので、「Configure the MySQL Server now」をチェックし、「Finish」ボタンをクリックします。



これでインストールは完了です。

MySQLのインストール(Windows) その1

MySQLのダウンロード


現在MySQLはMySQL Enterprise Server(商用版)とMySQL Community Server(無償データベース)の2つのタイプがあります。
MySQL Community Serverをダウンロードします。

http://www-jp.mysql.com/にアクセスします。

①「Download」リンクをクリックします。


②「MySQL Community Server」と「MySQL Enterprise」の比較表が表示されています。
今回は「MySQL Community Server」を利用しますので左側の下側にある「Download」と書かれたボタンをクリックして下さい。


③「Windows」をクリックして下さい。


④「Windows ZIP/Setup.EXE (x86)」の「Pick a mirror」をクリックして下さい。


⑤「Proceed」ボタンをクリックします。


⑥ユーザー登録の画面が表示されますが、一番下までスクロールし「No thanks, just take me to the downloads!」と書かれたリンクをクリックして下さい。




⑦ダウンロードサイトを選択します。ダウンロードが開始されます。適当な場所に保存しておいて下さい。