ちょいちょいずつ整理しながら追加していく予定。
・ルートで起動(mac OS X)
/usr/local/mysql/bin/mysql -u root -p
◇作成/設定
・データベースの作成
CREATE DATABASE {データベース名};
・テーブルの作成
CREATE TABLE {テーブル名}(
{名前} {型} {etc},
{名前} {型} {etc},
{名前} {型} {etc},
{名前} {型} {etc}
);
◇確認
・バージョン
SELECT VERSION();
・データベース一覧取得
SHOW DATABASES;
・データベース内のテーブル一覧取得
SHOW OPEN TABLES FROM {データベース名};
・テーブル内、型一覧
SHOW FIELDS FROM {テーブル名};
or
DESC {テーブル名};
・テーブル内データ一覧取得
SELECT * FROM {テーブル名};
・テーブルのSTATUSを調べる
SHOW TABLE STATUS;
◇文字コードの確認
・デフォルト文字コード設定を確認
status
・データベースの文字コードを確認
SHOW CREATE DATABASE {データベース名};
・テーブルの文字コードを確認
SHOW CREATE TABLE {テーブル名};
◇削除
・テーブルの削除
DROP TABLE {テーブル名};
・データベースの削除
DROP DATABASE {データベース名};
◇他
・データベースの切替
USE {データベース名}
・コマンドを抜ける
exit or quit
Translate
2009年7月1日水曜日
SPIDERING HACKS(#18)
#18は、スクリプトにプログレスバーを追加してみよう♪
ってお話ね。
原理は、LWP::UserAgentのオブジェクトを作ったのちに
getやらpostする時に、:content_cbヘッダに関数を指定することで
ある一定サイズのダウンロードが行われるたびに上記:content_cbに
指定した関数が呼び出されるを利用して、ダウンロードの進捗を表す
プログレスバーを作ろうってこった。
ちなみに、一定サイズのダウンロードごとに関数が呼び出されるわけだが
:content_cbヘッダと共に:read_size_hintというヘッダに、どのくらいの
ダウンロードサイズごとに関数を呼び出すか参考までに指定することが
できるそうな。
(指定したから、必ずそのサイズごとに呼ばれるわけではないらしい)
もっとも原始的な物はこんな感じになる。
ポイントは、
5行目で特殊変数$|に0以外の数値を指定してバッファリングしないようにしている点
13行目で:content_cbをセットしている点かな。
他の物については、後でおいおい追加してメモ書きしておくかな。。
ってお話ね。
原理は、LWP::UserAgentのオブジェクトを作ったのちに
getやらpostする時に、:content_cbヘッダに関数を指定することで
ある一定サイズのダウンロードが行われるたびに上記:content_cbに
指定した関数が呼び出されるを利用して、ダウンロードの進捗を表す
プログレスバーを作ろうってこった。
ちなみに、一定サイズのダウンロードごとに関数が呼び出されるわけだが
:content_cbヘッダと共に:read_size_hintというヘッダに、どのくらいの
ダウンロードサイズごとに関数を呼び出すか参考までに指定することが
できるそうな。
(指定したから、必ずそのサイズごとに呼ばれるわけではないらしい)
もっとも原始的な物はこんな感じになる。
#!/usr/bin/perl#!
use strict;
use warnings;
use LWP;
$|++;
die "[error]URLを指定して下さい。\n" unless @ARGV;
my $final_data; #受信データを格納する変数
for my $url (@ARGV){
$final_data = '';
print "URL", substr($url, 0, 40), "のダウンロード中...";
my $ua = LWP::UserAgent->new();
my $res = $ua->get($url, ':content_cb'=>\&callback);
print "\n";
}
sub callback{
my ($data, $response, $protocol) = @_;
$final_data .= $data;
print ".";
}
ポイントは、
5行目で特殊変数$|に0以外の数値を指定してバッファリングしないようにしている点
13行目で:content_cbをセットしている点かな。
他の物については、後でおいおい追加してメモ書きしておくかな。。
登録:
投稿 (Atom)