2007-01-01から1ヶ月間の記事一覧

ストアドプロシジャのパラメータについて

SQL

ストアドプロシジャは入力パラメータを受け取り、処理結果を出力パラメータとして返すことができます。 入力パラメータ:[IN] 名前 データ型 出力パラメータ:OUT 名前 データ型 入出力パラメータ:INOUT 名前 データ型 また次のようにローカル変数も利用できま…

複数のSQL文を記述する場合は、BEGIN〜ENDでくくる

SQL

mysql> CREATE PROCEDURE sp_2() -> BEGIN -> INSERT INTO t_tokui VALUES(1010,'得意先11'); -> UPDATE t_tokui SET tkname = '得意先名10' WHERE tkcd = 1010; -> END -> // Query OK, 0 rows affected (0.02 sec) mysql> CALL sp_2()// Query OK, 1 row a…

ストアドプロシジャ

SQL

mysql> delimiter // mysql> CREATE PROCEDURE sp_1() -> SELECT * FROM t_tokui; -> // Query OK, 0 rows affected (0.08 sec) mysql> CALL sp_1() // +------+-----------+ | tkcd | tkname | +------+-----------+ | 1001 | 得意先名1 | | 1002 | 得意先…

ALTER VIEW文で、作成済みのビューの定義内容をかえられる。

SQL

mysql> ALTER VIEW v_test AS SELECT shcd,shname,tanka,kigou FROM t_syohin -> WHERE tanka < 4000; Query OK, 0 rows affected (0.01 sec) mysql> SELECT * FROM v_test; +--------+---------------------+-------+-------+ | shcd | shname | tanka | ki…

ビューの削除

SQL

mysql> DROP VIEW v_test; Query OK, 0 rows affected (0.00 sec)

ビューの作成

SQL

mysql> CREATE VIEW v_test AS SELECT shcd,shname,tanka,kigou FROM t_syohin; Query OK, 0 rows affected (0.07 sec) mysql> show tables; +------------------+ | Tables_in_rensyu | +------------------+ | members | | t_hanbai | | t_syohin | | t_to…

MySQL4.0から5.0へ移行する手順

C:\mysql\bin>mysqldump -u root -p rensyu >c:\rensyu.sql Enter password: ****** C:\mysql\bin>cd "\Program Files\MySQL\MySQL Server 5.0\bin ※注 MySQL4.0→MySQL5.0にサービスを変更 C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p En…

ネットワークの勉強

Windows Server Insider 連載インデックス - @IT

IT用語辞典(日立)

http://ew.hitachi-system.co.jp/

インデックスを活かせないSQL文の書き方

SQL

インデックスを設定した列のデータを対象に関数を適用した場合

EXPLAIN文を使ってインデックスの利用状況を把握

SQL

インデックスの設定にALTER TABLE文を使う。

トランザクション処理 BEGIN,COMMIT,ROLLBACK

SQL

トランザクションの最後でROLLBACKを実行してBEGIN以降のSQL文は実行しなかったことになる。 mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO t_hanbai VALUES -> (9,'2005-08-10','1001','100001',5); Query OK, 1 row affected (0…

テーブル定義の変更ALTER文

SQL

t_syohinテーブルに在庫数を記録する列zaikosuを追加する mysql> ALTER TABLE t_syohin ADD zaikosu -> integer not null default 0; Query OK, 11 rows affected (0.30 sec) Records: 11 Duplicates: 0 Warnings: 0 mysql> UPDATE t_syohin SET zaikosu = 1…

MySQL独自のREPLACE文

SQL

指定した主キーを持つレコードがテーブルに存在しなければレコードを追加し、存在している場合はそのレコードを削除したうえで追加します。

AS句を使って列に別名をつける

SQL

mysql> SELECT shname AS 商品名,tanka AS 単価 FROM t_syohin; +----------------------+------+ | 商品名 | 単価 | +----------------------+------+ | USBメモリー128 | 2400 | | USBメモリー256 | 3500 | | USBメモリー512 | 5000 | | SDメモリーカード1…

複数テーブルを結合するとき列名の記述に注意する

SQL

mysql> SELECT t_hanbai.shcd,shname,suryo,tanka FROM t_hanbai INNER JOIN t_syohin ON t_hanbai.shcd = t_syohin.shcd; +--------+---------------------+-------+-------+ | shcd | shname | suryo | tanka | +--------+---------------------+-------+-…

HAVING句で特定の条件に合致したレコードを引き出す方法

SQL

mysql> SELECT shcd,SUM(suryo) FROM t_hanbai GROUP BY shcd HAVING SUM(suryo)>=10; +--------+------------+ | shcd | SUM(suryo) | +--------+------------+ | 100001 | 10 | +--------+------------+ 1 row in set (0.01 sec)

SUM関数でレコードの値を集計、GROUP BY句で結果をグループ分けする方法

SQL

mysql> SELECT shcd,SUM(suryo) FROM t_hanbai GROUP BY shcd; +--------+------------+ | shcd | SUM(suryo) | +--------+------------+ | 100001 | 10 | | 100101 | 3 | | 100201 | 5 | | 100A01 | 7 | | 100B01 | 2 | +--------+------------+ 5 rows in …

WOLについて

Magic Packet送信について - Magic PacketとはAMDが開発した技術で、WOL(Wake On Lan)対応のPCの電源を離れた場所から投入するためのものです。 インターネット経由でMagic Packetを使って電源を入れるには、 ・PCがWOL対応であること ・ルータを使った常…

WHERE 列名 NOT BETWEEN A AND B

SQL

mysql> SELECT shcd,shname,tanka FROM t_syohin WHERE tanka BETWEEN 3000 AND 5000; +--------+---------------------+-------+ | shcd | shname | tanka | +--------+---------------------+-------+ | 100002 | USBメモリー256 | 3500 | | 100003 | USB…

「WHERE」句に「IN」を使って候補値のどれかと合致するレコードを引き出す

SQL

mysql> SELECT shcd,shname,tanka FROM t_syohin WHERE kigou IN('SDMC','SM'); +--------+---------------------+-------+ | shcd | shname | tanka | +--------+---------------------+-------+ | 100101 | SDメモリーカード128 | 2300 | | 100102 | SDメ…

「WHERE BETWEEN」句で複数の条件を「AND」「OR」でつなげる

SQL

mysql> SELECT shcd,shname,tanka FROM t_syohin WHERE kigou='SDMC' AND tanka<5000; +--------+---------------------+-------+ | shcd | shname | tanka | +--------+---------------------+-------+ | 100101 | SDメモリーカード128 | 2300 | | 100102 |…

WOLについて

Wake On LANについて調べる

「LIMIT」句で引き出すレコード数を制限する

SQL

mysql> SELECT * FROM t_hanbai limit 1,3; +----+------------+------+--------+-------+ | id | ndate | tkcd | shcd | suryo | +----+------------+------+--------+-------+ | 2 | 2005-07-12 | 1001 | 100101 | 3 | | 3 | 2005-07-12 | 1002 | 100201 |…

「DISTINCT」句で重複するデータを一つにまとめて表示

SQL

mysql> SELECT ndate FROM t_hanbai; +------------+ | ndate | +------------+ | 2005-07-11 | | 2005-07-12 | | 2005-07-12 | | 2005-07-21 | | 2005-07-22 | +------------+ 5 rows in set (0.00 sec) mysql> SELECT DISTINCT ndate FROM t_hanbai; +----…

全レコードを表示する「ALL」句

SQL

mysql> SELECT ndate FROM t_hanbai; +------------+ | ndate | +------------+ | 2005-07-11 | | 2005-07-12 | | 2005-07-12 | | 2005-07-21 | | 2005-07-22 | +------------+ 5 rows in set (0.00 sec) mysql> SELECT ALL ndate FROM t_hanbai; +---------…

SOURCEコマンドで長いSQL文をテキストファイルにまとめて実行

例hanbai.sql use rensyu; drop table if exists t_hanbai; CREATE TABLE t_hanbai ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ndate DATE NOT NULL, tkcd CHAR(4) NOT NULL, shcd CHAR(6) NOT NULL, suryo SMALLINT NOT NULL, PRIMARY KEY(id), INDEX…