約 2,031,259 件
https://w.atwiki.jp/yasrun/pages/22.html
ヘルプ SQL*Loader Release 10.2.0.1.0 - Production on 水 12月 26 13 03 20 2007 Copyright (c) 1982, 2005, [[Oracle]]. All rights reserved. 使用方法 SQLLDR keyword=value [,keyword=value,...] 有効なキーワード userid -- ORACLEユーザー名/パスワード control -- 制御ファイル名 log -- ログ・ファイル名 bad -- 不良ファイル名 data -- データファイル名 discard -- 廃棄ファイル名 discardmax -- 許容される廃棄ファイル数 (デフォルト all) skip -- スキップする論理レコード数 (デフォルト 0) load -- ロードする論理レコード数 (デフォルト all) errors -- 許容されるエラー件数 (デフォルト 50) rows -- 従来型パスのバインド配列内、またはダイレクト・パスのデータ保管の間の行数 (デフォルト 従来型パス 64、ダイレクト・パス all) bindsize -- 従来型パスのバインド配列のサイズ(バイト) (デフォルト 256000) silent -- 実行中に表示されるメッセージの抑制(ヘッダー、フィードバック、エラー、廃棄、パーティション) direct -- ダイレクト・パスの使用 (デフォルト FALSE) parfile -- パラメータ・ファイル パラメータが指定されているファイルの名前 parallel -- パラレル・ロードの実行 (デフォルト FALSE) file -- エクステントを割り当てるファイル skip_unusable_indexes -- 使用できない索引または索引パーティションの禁止/許可 (デフォルト FALSE) skip_index_maintenance -- 索引を保持しません。対象の索引は使用不可とマークされます (デフォルト FALSE) commit_discontinued -- ロードされた行は、ロードが停止するとコミットされます (デフォルト FALSE) readsize -- 読取りバッファのサイズ (デフォルト 1048576) external_table -- ロード用の外部表の使用; NOT_USED、GENERATE_ONLY、EXECUTE (デフォルト NOT_USED) columnarrayrows -- ダイレクト・パスの列配列に対する行数 (デフォルト 5000) streamsize -- ダイレクト・パスのストリーム・バッファのサイズ(バイト) (デフォルト 256000) multithreading -- ダイレクト・パスでのマルチスレッドの使用 resumable -- 現行のセッションを再開可能にする/しない (デフォルト FALSE) resumable_name -- 再開可能文の識別に役立つテキスト文字列 resumable_timeout -- RESUMABLEの待機時間(秒) (デフォルト 7200) date_cache -- 日付変換キャッシュのサイズ(エントリ) (デフォルト 1000) 注意 コマンドライン・パラメータは位置またはキーワードによって 指定できます。前者の例では、'sqlldr scott/tiger foo'、後者の例では、'sqlldr control=foo userid=scott/tiger'です。 位置指定のパラメータは、キーワード指定のパラメータより前に 指定できますが、後には指定できません。たとえば、 'sqlldr scott/tiger control=foo logfile=log'は指定できますが、 'sqlldr scott/tiger control=foo log'は指定できません。 位置は正しくても許可されません。 参考サイト http //homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k10.htm SQL*Loader (SQL ローダー)CSV テキストなどからレコードを一括登録できる。 test.csv (データファイル) a001,10,20,30 b002,11,21,31 c003,12,22,32 test.ctl (コントロールファイル) load data infile 'test.csv' append into table テストm fields terminated by "," optionally enclosed '\n' trailing nullcols ( キー, データ1, データ2, データ3 ) sql*loader (コマンド) sqlldr userid=名前/パス control=test.ctl log=log.txt
https://w.atwiki.jp/lovely-fruity/pages/175.html
<歌詞ファイルおよび歌詞表示の仕様> タイムタグ Fruityの歌詞表示では、[00 00]形式のタイムタグ、[00 00 00]形式の拡張タイムタグ、行中に複数のタグのあるカラオケタグに対応しています。 カラオケタグではない行頭に複数タグのある形式にも対応しています。 行中にタグがある場合のみ、カラオケタグと認識します。 文字コード 歌詞ファイルの文字コードには、Shift-JIS、Unicode(UTF-16,UTF-16 big-endian,UTF-8)が使用できます。 BOMが付加されていれば、文字コードを自動認識します。 @タグ @タグは、次の表に記載しているもののみ対応しています。 タグ名 デフォルト値 @TimeRatio 1 @Offset 0 @タグはどのような状況でも一切表示されません。 「@」から始まる行は、有効な@タグかどうかに関わらず@タグとして認識されます。 表示順 歌詞の表示順序は、基本的には「ファイルに記載されている通り」となります。 行がタイムタグ時間の昇順に並んでいなくても構わず、行頭複数タグの行展開も行いません。 Fruityでの歌詞表示は、「ありのまま」が基本です。 タイムタグ時間でのソートを行うようにすれば、タイムタグ時間の昇順に並べ替えます。 ソートを行う場合、タグの付いていない行も適切にソートされます。 表示内容 @タグ以外は全て表示することが基本です。 タイムタグの付いていない行を非表示にすることは可能です。 タイムタグが一切付いていない歌詞ファイルの場合は、「タグの無い行を非表示」の設定に関わらず、必ず@タグ以外の全てが表示されます。 行送り(スクロール) カラオケタグの場合、行の終了時間を越えると次の行に移動します。 カラオケタグでない場合、行の開始時間になると行を移動します。 カラオケタグの場合には、アクティブ行の時間が終了すれば次の行の時間になっていようがいまいが、さっさと次の行に移動して待機します。 行送りをする際、スムーススクロールが有効であれば指定した時間をかけて次の行への移動(スクロール)表示を行いますが、無効な場合は瞬間的に次の行に移動します。 タグが一切無い歌詞の場合、曲長(サウンドの全体時間)を歌詞の行数で割った時間が一行に割り与えられて、仮想行頭タグ付き歌詞として動作します。 タグが一切無い歌詞の場合のスムーススクロールは特殊で、スクロール時間は無視され常に一定の速度でスクロール表示し続けます。 行に時間が割り当てられるので、シークするとそれに合わせて表示位置も変化し、再生時間と表示位置が対応します。 (好ましくない場合には、手動スクロールに切り替えて下さい) スクロールは、注目行(基本的にはアクティブ行)が垂直方向中央に位置するように行われます。 スクロールの範囲には制限があるため、必ずしもそうなるとは限りません。 (例えば、表示行数が5行の場合、1行目と2行目は中央に位置することはなく、最終行とその1行前が中央に位置することもありません) タグが一切無い歌詞の自動スクロールは、Windows Media Player(V9)以上に限られます。 (Windows Media Player(V8)以下では、タグが一切無い歌詞は自動/手動のどちらのスクロールも行えません) タイムタグの補正 次のような場合、タグの補正が行われます。 ①タグが逆転している場合(カラオケタグ) タグは行頭から行末に向かって順に時間が大きくなっていなければなりません。 タグの時間が逆転している場合、そのタグは無視されます。 ②行末にタグがない場合(カラオケタグ) 次行の行頭タグで補完します。 最終行の場合は、適度な時間で補完します。 行頭のみにタグが付いている場合は、指定した方法でタグを補完します。 →拡張設定を参照 ③行頭にタグがない場合 行の先頭にタイムタグがなく行中にタグがある場合、行中の始めに現れるタグを先頭に補完します。 補完した結果、行中にタグが2つになったとしても、もともと行中には1つしかタグがなかったため、カラオケタグとは認識しません。 行末タグが補完され行内のタグで逆転が起こってしまう場合、行内のタグが無視されます。 カラオケタグのアクティブ表示 カラオケタグ付き歌詞の場合は、アクティブ行がワイプ表示されます。 ワイプの同時表示数に制限はなく、複数のアクティブ行がある場合の注目行(垂直方向の中央に位置する行)は最も大きな行頭時間を持つ行となります。 本来、行のアクティブ終了時間は行の最終タグの時間であり、最終タグの時間経過後は非アクティブとなるところですが、Fruityでは次行がアクティブになるまで最大で一呼吸程度アクティブ表示が継続されます。 スムーススクロール スムーススクロールとは、歌詞のスクロールを時間を掛けて行うスクロールのことです。 スクロールの動作は、アクティブ行終了時間の「スクロール時間」分前に開始され、スクロール終了と共にアクティブの表示が終了します。 (各行のタグ状況によってはこの通りとは限りません) アクティブ行の移動が常に1行(タグ付き行のみで、ソートがONの場合)であれば常に同じスクロール速度となりますが、アクティブ行の移動量が一定でない場合はスクロール速度も変わります。 アクティブ行の移動が1行分の場合は、1行分の移動をスクロール時間分かけて行い、2行分の場合は2行分の移動をスクロール時間分かけて行います。 (行の移動量が多いほど、スクロール速度は速くなります) 手動スクロール 全ての歌詞(タグ付き/タグなし とも)は自動スクロールされることが基本ですが、自動スクロールを停止し手動でスクロールすることもできます。 Windws Media Playerにフォーカスがある状態で歌詞表示領域上でホイール操作を行うと、ホイールの回転に合わせて歌詞表示がスクロールされます。 歌詞表示領域上で上下にドラッグ操作を行うことでも、スクロール表示させることができます。 いったん手動スクロールを行うと、曲移動を行うかクイック切替メニューでONにするまで自動スクロールは解除されたままとなります。 手動スクロールが可能な時は、歌詞表示領域上でマウスカーソルが手の形に変化します。 ホイールおよびドラッグのスクロール量は、拡張設定で変更できます。 →拡張設定を参照 手動スクロールはWindows Media Player(V9)以上でなければ使用できません。 (Windows Media Player(V9)以上でも、スキンによっては使用できません) 全画面表示では、ホイールによる手動スクロールは行えません。 メッセージ メッセージには、前回歌詞表示に使用したフォント(フォントサイズも含む)が使用されます。 ①「searching...」:歌詞ファイルの検索中に表示されます。 ②「not found」:検索の結果、歌詞ファイルが見つからなかった場合に表示されます。 ③「not exist」:検索できたがそのファイルが存在しない場合に表示されます。 (ファイルキャッシュがONで、キャッシュの構築後にファイルを消したりファイル名変更などすると起こりえます)
https://w.atwiki.jp/programming_note/pages/17.html
0. 主要Issue CAP定理 Architecture データの完全性を担保するための制約定義及び、テーブル構造はどのようなものか? Performance Performanceを最大化させる、制約定義及び、テーブル構造はどのようなものか? MySQL WorkBench上での、効率的なArchitecture 設計はどのように行うものなのか? 1. MYSQLの基本作法 Login basic Column情報表示 行数数える unique 設定/解除 重複列削除 change join (単純結合、等価結合、外部結合、再帰結合) create table new_table as select * XXXXX. データ挿入 Nullを0に変更 2. Tableへの制約の設定 (整合性制約定義) PRIMARY_KEY設定 UNIQUE 制約 INDEX, KEY 設定 FOREIGN KEY(外部キー)制約 AUTO_INCREMENT 3. Dump 4. Sequel Pro の活用 4. Administration 5. Optimization 6. 文字化け/encoding 0. 主要Issue CAP定理 設計の考え方 インフラレイヤの設計 開発環境の整備 「開発インフラ」と「運用インフラ」の2つを「安く,早く, よいもの」が出来るように設計する 意識する変数は下記で、CAP定理に基づき、サービスに応じてコンポーネントを選択する ① Availability 高可用性 サーバーが一台落ちてもサービスが継続するか ② Consistency データ整合性 ③ Scalability Amazon EC2等の普及により、Scale up よりScale outが低コスト,高機能に (運用.管理の手間は増大する傾向) ④ Partition 選択すべきコンポーネントは「DBの種類」と「DBの組み合わせ」 MongoDB Architecture データの完全性を担保するための制約定義及び、テーブル構造はどのようなものか? Performance Performanceを最大化させる、制約定義及び、テーブル構造はどのようなものか? MySQL WorkBench上での、効率的なArchitecture 設計はどのように行うものなのか? 1. MYSQLの基本作法 Login mysql -h 127.15.0.1 -P 23306 -u uenoyama -p basic * select [☆1. 縦にColumns as XXX を選択する] * xxx as aaa * yyy as bbb * count(distinct XXXX) as ccc * IFNULL(式A,式B) as DAU * from [☆2. 選択元のTable を選択する] * table_name * join dbname.tablename g ON g.XXXX = YYYY * join dbname.tablename g ON g.XXXX = YYYY * where [☆3. 選択する条件と指定する] * xxx = aaa * and yyy = bbb * and zzz like ccc * group by [4. 出力する条件を指定する] * date * order by * date 例 SELECT g.gme_title AS GAME, gme_version as VERSION, p.ptf_device AS PLATFORM, date(lse_client_timestamp) AS DATE, cat.ctg_name AS CATEGORY, subcat.sctg_name AS SUBCATEGORY, count(*) AS LANDING_PAGE_HITS, count(distinct lse_usr_id) as UU FROM `gii_analytics`.`landing_screen_events` master JOIN `gii_analytics`.`games` g ON g.gme_id = master.lse_gme_id JOIN `gii_analytics`.`platforms` p ON p.ptf_id = master.lse_ptf_id JOIN `gii_analytics`.`categories` cat ON cat.ctg_id = master.lse_ctg_id JOIN `gii_analytics`.`subcategories` subcat ON subcat.sctg_id = master.lse_subcategory_ctg_id WHERE gme_id = 1 AND master.lse_usr_id IN ( SELECT subchild.ugc_usr_id FROM `gii_analytics`.`user_catalog` subchild WHERE date(subchild.ugc_join_date) date_sub(master.lse_date, interval 1 day) AND subchild.ugc_game_id=master.lse_gme_id AND subchild.ugc_ptf_id=master.lse_ptf_id ) GROUP BY GAME, VERSION, PLATFORM, DATE, CATEGORY, SUBCATEGORY ORDER BY GAME, VERSION, PLATFORM, DATE, CATEGORY, SUBCATEGORY ; Column情報表示 show columns from table_name; 行数数える * select count(*) from tweet; * count(distinct, XXXX) unique 設定/解除 * ALTER TABLE companyapp_development.crunchbase_companylist ADD CONSTRAINT UNIQUE(permalink); * ALTER TABLE talbe_name ADD [CONSTRAINT [symbol]] UNIQUE [index_name] (col_name,...) * ALTER TABLE talbe_name DROP INDEX index_name 重複列削除 * CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2 * create table companyapp_development.crunchdb_companylist as select * from companyapp_development.crunchbase_companylist group by permalink; change * drop * alter table XXX rename to YYY join (単純結合、等価結合、外部結合、再帰結合) SELECT g.gme_title AS GAME, gme_version as VERSION, p.ptf_device AS PLATFORM, test.usr_udid AS UDID, qee_usr_id as USER_ID, date(qee_client_timestamp) AS DATE, cat.ctg_name AS CATEGORY, qee_quest AS QUEST_ID, count(qee_quest) AS NUM_ENDS FROM `gii_analytics`.`quest_end_events` master JOIN `gii_analytics`.`games` g ON g.gme_id = master.qee_gme_id JOIN `gii_analytics`.`platforms` p ON p.ptf_id = master.qee_ptf_id JOIN `gii_analytics`.`categories` cat ON cat.ctg_id = master.qee_ctg_id JOIN `gii_analytics`.`users` test ON test.usr_id = master.qee_usr_id WHERE date(qee_client_timestamp) = date_sub(curdate(), interval 30 day) AND gme_title LIKE %3176 GROUP BY GAME, VERSION, PLATFORM, DATE, QUEST_ID,USER_ID ORDER BY GAME, VERSION, PLATFORM, DATE, QUEST_ID,USER_ID ; create table new_table as select * XXXXX. CREATE TABLE tweetnew ( tweet_id varchar(255), tweet_time varchar(255), twitter_user varchar(255), twitter_user_id varchar(255), tweet_body varchar(255) ); データ挿入 INSERTINTO tweetnew (tweet_id,tweet_time,twitter_user,twitter_user_id,tweet_body) select tweet_id,tweet_time,twitter_user,twitter_user_id,tweet_body from tweet_tests limit 10; #ここにSQL文 Nullを0に変更 * update crunchdb_companyinfo4 set founded_year=coalesce(founded_year,0); 2. Tableへの制約の設定 (整合性制約定義) 考え方 データの完全性を守るために様々な制約を定義する。Versionによって定義できる制約が異なる 行数が増えて行くだけの静的DBか更新が頻繁に掛かる動的DBかで設計が異なる 基本的には各テーブルにPRIMARY KEYを設定し、Crontabで週次/月次更新でアップデート 1. 各テーブルの一つのカラムにプライマリーキー制約を付ける UNIQUE, NOT NULL 制約 (PRIMARYという名前のユニークインデックスを作成する事と同義) 複数のカラムに設定すると、対象カラム情報の組み合わせがが完全一致したデータの格納をはじく 2. UNIQUE ID番号を自動振り分けする場合はAUTO INCREMENT 制約を用いる より厳重な完全性が必要な場合(データ更新が頻繁 等) は、外部キーを貼ることで、テーブル間の整合性も取る 親テーブル値のみを子テーブルに存在させ、データの整合性を担保する 適宜更新されていくテーブルを軸に、連鎖更新、連鎖削除を設定する(user名の更新 等) PRIMARY_KEY設定 CREATE TABLE db_name.tbl_name (col_name1 data_type1 NOT NULL PRIMARY KEY, col_name2 data_type2, ...); e.g. CREATE TABLE company_list (company_id varchar(255) NOT NULL PRIMARY KEY, company_name varchar(255)); http //www.dbonline.jp/mysql/table/index8.html UNIQUE 制約 INDEX, KEY 設定 FOREIGN KEY(外部キー)制約 親テーブルと子テーブル 親 - 子 親テーブルのカラムの値は子テーブルから参照される 子テーブルの指定したカラムに格納できる値を親のテーブルに格納されている値だけに限定 親テーブルに存在しない値を持つデータを追加しようとするとエラーが発生 親テーブル側のカラムの値を更新したり削除したりする場合には注意が必要 Restrict/No action 親テーブルの更新,削除がエラーになる Cascade 親テーブルに合わせて、子テーブルを更新 Set Null Null 値になる http //dev.mysql.com/doc/refman/4.1/ja/innodb-foreign-key-constraints.html http //dev.mysql.com/doc/workbench/en/wb-relationship-tools.html http //www.dbonline.jp/mysql/table/index11.html AUTO_INCREMENT CREATE TABLE db_name.tbl_name (col_name1 data_type1 NOT NULL PRIMARY KEY, col_name2 data_type2, ...); 3. Dump ◆ Step1 Dump to .sql file $ mysqldump -u[user] -p [dbname] ([table]) backup.sql $ mysqldump -u uenoyama -p XXXXX backup.sql $ mysqldump -u uenoyama@bosho-udon.ddo.jp -p XXXXX(tweet) backup.sql ◆ Step2 scp transfer is better than sftp transfer $ scp uenoyama@bodho-udon.ddo.jp /home/uenoyama/backup.sql ./ $ scp katsuya@www5290ua.sakura.ne.jp /home/katsuya/apps/promotionapp/app/views nana.png http //cns-guide.sfc.keio.ac.jp/2004/2/6/2.html ◆ Step3 Insert to Mysql 入れたいサーバ $ mysql -u[user] -p[passwrd] backup.sql 1. 元データのサーバからDump $ mysqldump -u[user] -p[passwrd] [dbname] ([table]) backup.sql 2. 他サーバーへ転送 scp uenoyama@bodho-udon.ddo.jp /home/uenoyama/backup.sql ./ scp katsuya@www5290ua.sakura.ne.jp /home/katsuya/apps/promotionapp/app/views/tweets nana.png 3. 入れたいサーバへの挿入 $ mysql -u[user] -p[passwrd] backup.sql 4. Sequel Pro の活用 Shot cut http //www.sequelpro.com/docs/Keyboard_Shortcuts http //dev.mysql.com/doc/workbench/en/ 4. Administration * create user * system authorization 5. Optimization http //dev.mysql.com/doc/refman/4.1/ja/mysql-optimisation.html 6. 文字化け/encoding 1. emacsのencodingをすべてutf-8に揃える → .emacs をいじる - emacs上で M x + describe current coding system で表示 2. Mysql のフォントをutf-8に合わせる - set character_set_server = utf8; みたいなコマンド諸々 3. DB接続ごとに、処理実行前に「SET NAMES UTF8」というクエリを発行する
https://w.atwiki.jp/takaidohigasi/pages/24.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.3 MySQL DBMS(データベース管理システム)の概要 1.3.1 MySQLって何? ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/what-is-mysql.html MySQLって何? MySQL は最もよく知られているオープンソース SQL データベース管理システムで、Oracle社によって開発、提供、サポートが行われています MySQL の Web サイト(http //www.mysql.com/)には、MySQL ソフトウェア関する最新情報が掲載されています。 MySQL はデータベース管理システムです。 データベースとは、構造化されたデータの集合です。データベースには、簡単なショッピングリストから絵画のギャラリー、または社内ネットワークの膨大な量の情報など、さまざまなものがあります。コンピュータデータベースに格納されているデータに対して追加、アクセス、および処理などを行うには、MySQL サーバのようなデータベース管理システムが必要となります。コンピュータは大量のデータの処理に非常に優れているので、データベース管理システムは、スタンドアロンのユーティリティまたは他のアプリケーションの一部として、データ処理の中心的な役割を果たします。 MySQL はリレーショナルデータベースです。 リレーショナルデータベースでは、1つの大きな保管領域にすべてのデータが格納されるのではなく、個別のテーブルにデータが格納されます。データベースの構造は、速度を最適化するように物理的ファイルが構成されます。データベース、テーブル、ビュー、行、列といったオブジェクトを持つ論理モデルとして持つので、柔軟にプログラミング出来る環境を提供します。異なるデータフィールドのリレーションのルール、(1対1、1対多、ユニーク、必須またはオプション、違うテーブルとの間の「ポインタ」)はあなたがセットアップします。データベースはデータベースをちゃんと設計した場合に、アプリケーションデータに非一貫性、重複、孤立、更新遅れ、ロストを一切起こさせないために、このルールを遵守します。 「MySQL」 の SQL は「Structured Query Language」 を表します。SQL はデータベースへのアクセスに使用される最も一般的な標準化言語です。プログラミング環境に応じて、SQLを直接(例えば、レポートを作る為に)使ったり、違う言語で書いた埋込みSQLをコードの中で使ったり、SQLの書き方をを隠ぺいした言語固有のAPIを使用するでしょう。 SQLは、ANSI/ISO SQL 標準によって定義されています。SQL 標準は 1986 年以降開発が繰り返され、複数のバージョンがあります。本マニュアルでは、「SQL-92」 は 1992年にリリースされた標準に、「SQL 1999」 は 1999年にリリースされた標準に、そして 「SQL 2003」 は標準の現バージョンに対応しています。「the SQL standard」 という用語は、任意の時点における現行バージョンの SQL 標準を表す場合に使用します。 MySQL ソフトウェアはオープンソースです。 オープン ソースとは、だれもがそのソフトウェアを使用し、変更できることを意味します。MySQL ソフトウェアは、だれもが無料でインターネットからダウンロードし、使用することができます。必要に応じて、ソース コードを調べ、ニーズに合わせて変更することができます。MySQL ソフトウェアでは、GPL(GNU 一般公衆利用許諾契約書,http //www.fsf.org/licenses/)に基づいて、さまざまな状況でのソフトウェアの使用において許可されている事項と禁止されている事項が規定されています。GPL では不都合な場合や商用アプリケーションに MySQL コードを組み込む必要がある場合は、商用ライセンス版を購入することができます。詳しくは MySQL ライセンスを参照してください。(http //www.mysql.com/company/legal/licensing/) MySQL データベース サーバ は、非常に高速で信頼性があり、スケーラブルで、簡単に使用することができます。 それを求めていたのでしたら、ぜひ試してください。MySQL サーバはデスクトップやラップトップで、他のアプリケーションや、ウェブサーバ等のシステムと共に、ほとんど気を使うことなく利用できます。マシンをMySQL専門に使う時は、メモリ、CPU、I/O性能を生かすために設定を調整することが出来ます。MySQLはマシンのクラスタ用にスケールアップ可能ですし、同時にネットワーク化できます。 ベンチマークページには、他のデータベース管理システムと MySQL サーバのパフォーマンスを比較に関する情報があります。詳細は、8.12.2章 「MySQL ベンチマークスィート」 を参照してください。 MySQL サーバは当初、既存のソリューションよりもはるかに速く大規模なデータベースを処理することを目的として開発され、多くを要求される運用環境で数年間にわたって使用されています。引き続き開発が行われていますが、MySQL サーバは現在、便利で多彩な機能を備えています。その接続性、速度、安全性によって、MySQL サーバはインターネット上のデータベースへのアクセスに非常に適しています。 MySQL サーバはクライアント/サーバもしくは組み込まれたシステムで動きます。 MySQL データベースソフトウェア は、さまざまなバックエンドをサポートするマルチスレッド形式の SQL サーバ、複数の異なるクライアントプログラムおよびライブラリ、管理ツール、幅広いアプリケーションプログラミングインタフェース(API)から成るクライアント/サーバシステムです。 また、MySQL サーバはアプリケーションへのリンクが可能なマルチスレッド ライブラリとして提供されており、さらに小規模で高速な、管理しやすいスタンドアロンの製品を作り出すことができます。 MySQL をサポートする多数のソフトウェアが提供されています。 MySQL サーバには、ユーザと密接に協力して開発された実用的な機能が備わっています。 必要なアプリケーションや言語ですでに MySQL データベース サーバがサポートされていると思われます。 「MySQL」 の正式な発音は 「My Ess Que Ell」 ですが(「my sequel」 ではありません)、「my sequel」 と発音したり、ローカライズされた他の方法で発音してもかまいません。
https://w.atwiki.jp/lightbox/pages/28.html
HTML上でのコード表示 この変換を行う最も大きな理由としては、HTML 上で と をそのままでは表示できないからです。 また、WEB アプリケーション上では、文字列内に HTML が出現します。また、一般的な言語でも 意図せぬ結果にならぬように変換する必要があります
https://w.atwiki.jp/takaidohigasi/pages/16.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.4 MySQL 5.5の変更点 ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html スケーラビリティーの改善 InnoDB I/Oサブシステムの変更 診断・モニタ機能 Solalisのサポート拡張 本章では、MySQL 5.5で何が出来るようになり、何がなくなったのかについてまとめます 新規機能 以下の機能ががMySQL5.5にて加えられました スレッドプーリング MySQLサーバでの標準のスレッドハンドリングモデルは、クライアントのコネクションごとにスレッドを1つたて、ステートメントを実行します。多くのクライアントがサーバに接続し、ステートメントを実行するようになるにつれ、全体の性能が低下します。MySQLの商用版である、MySQL 5.5.16では、スレッドプールプラグインがあり、それによってオーバーヘッドを減らしパフォーマンスを改善するように設計されたスレッドハンドリングのモデルが従来のものの替わりに利用できるよう、提供されています。プラグインはスレッドプールを実装しており、多数のクライアント接続があった場合のステートメント実行スレッドを効率的にさばくことにより、サーバのパフォーマンスを向上させています。詳細の情報に関しては、8.11.6章のスレッドプールプラグインを参照してください。 認証の接続 ( Pluggable Authentication ) MySQLの認証は、新たに2つの方法(pluggable authenticationおよびプロキシユーザ機能)をサポートしています。pluggable authenticationでは、サーバーは外部からのクライアント接続に対する認証のプラグインを利用することが出来、クライアントは対応するサーバーのプラグインと適切に動作する認証プラグインをロード出来ます。これによって、クライアントがMySQLサーバに、MySQLのビルトインの認証(mysql.userテーブルに格納されているネイティブのMySQLパスワードベースのもの)以外の適切な認証方法のクレデンシャルで接続できます。例えば、LDAP,Kerberos,PAMまたはWindowsログインIDなどの外部の認証方法の利用の為のプラグイン利用が考えられます。プロキシユーザ機能は、1ユーザとして認証し接続したクライアントが、接続中のアクセス制御の為に、異なるユーザの権限を持つように出来る機能です。実際に、1ユーザがもう片方のユーザを装います。詳細は6.3.6章のPluggable Authenticationおよび、6.3.7章のプロキシユーザを参照してください。 商用配布バージョンのMySQL5.5.16には、外部の認証を用いてMySQLのユーザ認証を可能にする2つのプラグインがあります。 PAM(Pluggable Authentication Modules)は、システムが標準のインターフェースで様々な認証方にアクセス出来るようにします。PAM認証プラグインは、MySQLサーバにMySQLユーザの認証用にMySQLサーバがPAMを利用できる機能を提供します。 Windows版のMySQLでは、MySQLサーバが、クライアント接続の認証にネイティブWindowsサービスを利用できる認証プラグインがあります。Windowsにログインしているユーザは、MySQLクライアントプログラムから追加のパスワードを利用することなく、ログイン環境での情報に基づいてサーバに接続できます。 これらの認証プラグインによって、MySQLサーバがMySQL権限テーブル以外で定義されたユーザからの接続が出来るようになり、またMySQLプロキシユーザ機能もサポートします。各プラグインがログインユーザと異なるユーザ名を返し、 これはプラグインが外部で認証されたユーザが持つべき権限を明確に定めたMySQLユーザを返せることを意味します。 詳細な情報は、6.3.6.2章の「PAM認証プラグイン」および6.3.6.3章の「Windowsネイティブ認証プラグイン」を参照してください。 マルチコアに対するスケーラビリティー マルチコアCPUのスケーラビリティーが改善されています。 現在のハードウェア開発のトレンドはCPUのクロック数を改善し続けるというよりは、コア数を増やすという方向に向かっています。CPUが速くなるまで待つことで、データベースの性能を向上させるということではたちゆかなくなりました。その代わりに、マルチコアが利用可能なプロセスサイクルを最大限に利用できるようにすることが必要となっています。MySQL5.5はSMPシステムの特徴の利点を生かし、マルチコアを最大限に活用する阻害となるMySQLアーキテクチャのボトルネックを取り除こうとしています。これはInnoDB、とりわけロックとメモリの管理に焦点をあてたものです。詳細は1.4.1章の「スケーラビリティーの改善」を参照して下さい。 InnoDB I/Oサブシステム InnoDB I/Oサブシステムは、利用可能なI/Oをより有効に活用出来るように変わりました。 詳細は1.4.2章の「InnoDB I/Oサブシステム変更点」を参照してください。 診断機能の向上 実行・性能情報へのアクセスが改善されました。 診断機能の向上には、パフォーマンススキーマ(MySQLサーバの実行をローレベルでモニタする為のもの)や、DTraceプローブ、SHOW ENGINE INNODB STATUSの出力拡張、デバッグ同期、そして新たなステータス変数があります。 詳細は、1.4.3章の「診断・モニタ機能」を参照してください。 Solaris いくつかの修正でSolalis上でのMySQLサーバの操作方法が改善されました。 詳細は1.4.4章の「Solarisの拡張サポート」を参照してください。 デフォルトストレージエンジン 新規テーブルのデフォルトストレージエンジンは、MYISAMではなくInnoDBです。 詳細は14.3.1章の「MySQLデフォルトストレージエンジン InnoDB」を参照してください。 MySQLクラスター MySQLクラスターは、MySQL5.5ベースのNDBストレージエンジンの新規開発版であるバージョン7.2で、別の商品としてリリースされています。 クラスタリングの機能は主流のMySQLサーバ5.5のリリースでは利用できません。MySQLクラスターNDB7.2に関する詳細な情報は、17章の「MySQLクラスター NDB7.2」を参照してください。 MySQLクラスターのリリースは、3パートのNDBバージョン番号で判別可能です。現在はMySQLクラスターNDB7.1が最新の安定版(GA General Available)です。 MySQLクラスターNDB6.3とMySQLクラスターNDB7.0も利用可能です。これらのバージョンのMySQLクラスターはMySQLサーバ5.1ベースで、MySQL5.1のマニュアルにドキュメントが記載されています。詳細はMySQLクラスターNDB 6.1-7.1を参照してください。 準同期レプリケーション マスターで実施されたコミットは、少なくとも1つのスレーブがトランザクションイベントを受取り、ログを生成し終えたと確認し終わるまで、ブロックされます。 準同期レプリケーションンは、オプションのプラグインコンポーネントとして実装されています。詳細は、16.3.8章の「準同期レプリケーション」を参照してください。 Unicodeのサポート ユニコード文字の追加対応が行われました。BMP(標準多言語水準)以外の文字への対応です。これらの新しいユニコード文字セットには、utf16,utf32,そしてutf8mb4といった補助的な文字があります。詳細は、10.1.10章の「Unicodeサポート」を参照してください。 パーティショニング テーブルパーティショニング機能が拡張されました。 2つの新型のユーザー定義パーティショニグ手法がサポートされました。レンジカラムパーティショニングは、レンジパーティショニングの拡張で、リストカラムパーティショニングはリストパーティショニングの拡張です。それぞれが、MySQLのパーティショニング機能の拡張になります。 パーティショニングレンジあるいはパーティショニグリストをDATE, DATETIMEもしくはstring値(CHARやVARCHARなど)に基づいて定義することが可能です。レンジカラムか、リストカラムによってテーブルがパーティショニングされた場合は、レンジやリストは、複数列値で定義することが出来ます。これらのレンジあるいはリストは、16列まで対応しています。 これらのパーティショニング型を利用して定義されたテーブルに対し、パーティショニングプルーニングは(異なる)列値と定数の複数比較しているWHERE区のクエリを最適化することが出来ます。例えば、a = 10 AND b 5や、a "2005-11-25" AND b = 10 AND c = 50がその例となります。 詳細は、18.2.1の「レンジパーティショニング」、18.2.2の「リストパーティショノング」を参照して下さい。 ALTER TABLE ... TRUNCALTE PARTITIONステートメントを使ったパーティションテーブルの、1つ以上のパーティションから全ての行を削除可能となりました。このステートメントを実行すると、テーブルの構造に影響を与えずに行の削除を行います。TRUNCATE PARTITION節のパーティションは、連続である必要はありません。 パーティショニングされたMyISAMテーブル(CACHE INDEXとLOAD INTO CACHEステートメントを使ったテーブル)のインデクスへのキーキャッシュがサポートされています。また、キーキャッシュは全パーティションテーブルのインデクスがロードされるか、1つ以上のパーティションのインデクスがロードされた際に定義されます。後者ではパーティションは連続である必要はありません。 新たな TO_SECONDS()関数は、DATEまたはDATETIME表記を0年からの秒数の数値に変換します。これは、一般の関数ですが、パーティショニングに有用です。 パーティショニングの表記に恐らく利用され、そうすればパーティショニングプルーニングがこれらの表現を定義したテーブルをサポートします シグナル/リシグナル SQL標準のSIGNALとRESIGNALステートメントをサポートします。詳細は13.6.7章の「コンディショニングハンドリング」を参照してください IPv6サポート MySQLサーバはIPv6で接続するクライアントからのTCP/IPコネクションを許可できます。詳細は5.1.8章の「IPv6サポート」を参照してください XML 新規のLOAD XML INFILEステートメントなどのXML機能の拡張。詳細は13.2.7章「LOAD XML Syntax」を参照してください。 ビルトコンフィギュレーション MySQLリリースはGNUオートツールではなく、CMakeを使ってビルとされています。それに伴い、ソースコードからのMySQLインストールマニュアルが、CMakeをどう使ってMySQLをビルドするかを記載するように更新されました。詳細は2.9章の「MySQLのソースコードからのインストール」を参照してください。 ビルドは、Windowsを含め、全てのプラットフォーム上で同様に扱うことが出来、特定のプラットフォーム用の記載をする章はもうなくなりました。 廃止された機能 以下の構文が廃止され、MySQL5.5から削除されました。代替構文が示されている個所については、アプリケーションを修正する必要があります。 The language system variable (use lc_messages_dir and lc_messages). The log_bin_trust_routine_creators system variable (use log_bin_trust_function_creators). The myisam_max_extra_sort_file_size system variable. The record_buffer system variable (use read_buffer_size). The sql_log_update system variable. The Innodb_buffer_pool_read_ahead_rnd and Innodb_buffer_pool_read_ahead_seq status variables (use Innodb_buffer_pool_read_ahead and -Innodb_buffer_pool_read_ahead_evicted). The table_type system variable (use storage_engine). The FRAC_SECOND modifier for the TIMESTAMPADD() function (use MICROSECOND). The TYPE table option to specify the storage engine for CREATE TABLE or ALTER TABLE (use ENGINE). The SHOW TABLE TYPES SQL statement (use SHOW ENGINES). The SHOW INNODB STATUS and SHOW MUTEX STATUS SQL statements (use SHOW ENGINE INNODB STATUS and SHOW ENGINE INNODB MUTEX). The SHOW PLUGIN SQL statement (use SHOW PLUGINS). The LOAD TABLE ... FROM MASTER and LOAD DATA FROM MASTER SQL statements (use mysqldump or mysqlhotcopy to dump tables and mysql to reload dump files). The BACKUP TABLE and RESTORE TABLE SQL statements (use mysqldump or mysqlhotcopy to dump tables and mysql to reload dump files). TIMESTAMP(N) data type The ability to specify a display width of N (use without N). The --default-character-set and --default-collation server options (use --character-s-et-server and --collation-server). The --default-table-type server option (use --default-storage-engine). The --delay-key-write-for-all-tables server option (use --delay-key-write=ALL). The --enable-locking and --skip-locking server options (use --external-locking and --skip-external-locking). The --log-bin-trust-routine-creators server option (use --log-bin-trust-function-creators). The --log-long-format server option. The --log-update server option. The --master-xxx server options to set replication parameters (use the CHANGE MASTER TO statement instead) --master-host, --master-user, --master-password, --master-port, --master-connect-retry, --master-ssl, --master-ssl-ca, --master-ssl-capath, --master-ssl-cert, --master-ssl-cipher, --master-ssl-key. The --safe-show-database server option. The --skip-symlink and --use-symbolic-links server options (use --skip-symbolic-links and --symbolic-links). The --sql-bin-update-same server option. The --warnings server option (use --log-warnings). The --no-named-commands option for mysql (use --skip-named-commands). The --no-pager option for mysql (use --skip-pager). The --no-tee option for mysql (use --skip-tee). The --position option for mysqlbinlog (use --start-position). The --all option for mysqldump (use --create-options). The --first-slave option for mysqldump (use --lock-all-tables). The --config-file option for mysqld_multi (use --defaults-extra-file). The --set-variable=var_name=value and -O var_name=value general-purpose options for setting program variables (use --var_name=value). The --with-pstack option for configure and the --enable-pstack option for mysqld.
https://w.atwiki.jp/yasuhiro80/pages/16.html
起動 $ sqlite3 終了 sqlite3 .exit ヘルプ sqlite3 .help テーブル作成 sqlite3 create table table_name (fields) 集計機能 合計 sum(X)、total(X) sumとtotalの違い・・・未記入 平均 avg(X) データの個数 count(*)、count(X) count(*)・・・テーブル行数 count(X)・・・引数に指定したXが、NULLでないデータの個数 最大 max(X) 最小 min(X) Androidからの利用 インポートするクラス android.database.sqlite.SQLiteDatabase android.database.sqlite.SQLiteOpenHelper
https://w.atwiki.jp/nofx/pages/115.html
インストールやりなおしインストール(昔) 起動 データベースへ接続できないとき設定し直す 設定cnfファイルをコピー サーバへ接続デフォルト ブランクユーザの削除 DBの管理新規ユーザ権限の設定Servlet用のDBとそれを扱うユーザを設定する バックアップmysqldump(SQLベースのバックアップ) コマンド・SQLテーブル名の変更 設定環境情報を見る 環境変数を見れる テーブル情報の表示 ファイルからのデータ挿入 AUTO_INCREMENTをリセット 重複レコードの抽出 インデックス関連インデックスを貼る インデックスの確認 インデックスの使用を確認する インデックスの削除 SQLの結果行数を取得 テーブルのコピー1 2 テーブルの全データ削除 テーブル構成の変更カラムの追加 カラムの削除 カラムのデータ型の変更 カラム名とデータ型の変更 テーブル名の変更 server再起動したらRubyからDBアクセスができなくなった件について 文字化けDB@FreeBSDが扱う文字列をUTF-8に統一 データ挿入 JDBC Link ~ インストールやりなおし 文字化けが直らずソースからインストールこすることに。 ダウンロード MySQL Community Serverをダウンロード(mysql-5.0.33.tar.gz) tar.gz形式ソース版http //dev.mysql.com/downloads/ グループ追加 pw groupadd mysql ユーザ追加 adduser -g mysql -d /usr/local/var mysql ファイル解凍 tar xvzf mysql-5.0.33.tar.gz configure cd mysql-5.0.33 ./configure --with-charset=sjis -with-extra-charsets=all --with-mysqld-user=mysql インストール make make install DB初期化 /usr/local/bin/scripts/mysql_install_db --user=mysql chown -R mysql /usr/local/var chgrp -R mysql /usr/local/var インストール(昔) sysinstallで入れた。 MySQLはrootでも起動でるが、昨今のネットワーク事情を考えると、専用ユーザーを使用した方がより安全。そこでグループとユーザーを追加する。ユーザーホームはMySQLのデータディレクトリ/var/db/mysql/を指定。 グループmysqlの追加; # pw groupadd mysql ユーザmysqlの追加; # adduser -g mysql -d /var/db/mysql/ ↑二つはしなくても設定済み? データベースを初期化、その後データディレクトリのオーナーを先ほど作成したmysqlユーザーに修正 # /usr/local/bin/mysql_install_db --user=mysql # chown -R mysql /var/db/mysql/ # chgrp -R mysql /var/db/mysql/ 起動 # /usr/local/bin/mysqld_safe --user=mysql # /usr/local/share/mysql/mysql.server start --default-character-set=utf8 停止 # /usr/local/share/mysql/mysql.server stop ソケットを介さない方法 # mysqladmin --host=133.XX.XX.XX shutdown データベーステーブルの確認 # /usr/local/bin/mysqlshow データベースへ接続できないとき 病状 パスワードを確実に入力しているものの接続を拒否される $ mysql ERROR 1045 (28000) Access denied for user ‘momota’@ #039;localhost’ (using password NO) $ mysql -p Enter password ERROR 1045 (28000) Access denied for user ‘momota’@ #039;localhost’ (using password YES) $ mysql -u root ERROR 1045 (28000) Access denied for user ‘root’@ #039;localhost’ (using password NO) $ mysql -u root -p Enter password ERROR 1045 (28000) Access denied for user ‘root’@ #039;localhost’ (using password YES) 原因の考察 ポートが開いていない 昔の設定が残っているからなんかおかしい(今回はこれっぽい感じだった) パスワードを本当に忘れた。 解決法 mysqlデーモンを再起動 skip-grant-tablesオプションを指定するとユーザー確認用のデータを読み込まずに起動 $ /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 設定し直す パスワード設定 mysql UPDATE mysql.user SET Password=PASSWORD( #039;YOUR-PASSWORD #039;) WHERE User= #039;root #039;; mysql FLUSH PRIVILEGES; 確認 mysql SELECT Host,User,Password FROM mysql.user; 設定 rootユーザのパスワード設定 # mysqladmin -u root password #039;new_password #039; # mysqladmin reload mysqladmin を使ってパスワードを設定する場合、設定後にmysqladmin の reload コマンドを実行する必要があるらしい。 だが、拒否されてしまったので以下のようにしたらOKだった。 # mysqladmin reload -u root -p Enter password さっき設定したパスワード cnfファイルをコピー 自分の環境にあったものをコピー # cp /usr/local/share/mysql/my-***.cnf /var/db/mysql/my.cnf 実は/etc/の下に置くべき? 使用する文字セットを設定 以下、my.cnfファイルの中身。日本語化。 [client] #039; #039;default-character-set=utf8 #039; #039; #password = your_password port = 3306 socket = /tmp/mysql.sock [mysqld] #039; #039;default-character-set=utf8 #039; #039; #039; #039;character-set-server=utf8 #039; #039; #039; #039;language=japanese #039; #039; port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K server-id = 1 [mysqldump] #039; #039;default-character-set=utf8 #039; #039; quick max_allowed_packet = 16M [mysql] #039; #039;default-character-set=utf8 #039; #039; no-auto-rehash [isamchk] key_buffer = 8M sort_buffer_size = 8M [myisamchk] key_buffer = 8M sort_buffer_size = 8M [mysqlhotcopy] interactive-timeout サーバへ接続 # mysql [-h host_name] [-u user_name] [-pyour_pass] オプション-pのあとにパスワードを入力できるが-pだけをうったら次の行にEnter password と表示されるからそれから入力したほうが安全。 デフォルト オプション デフォルト値 -h localhost -u UNIXのログイン名 設定ファイルにパスワードを書いておくこともできる。そうすることにより、毎回毎回コマンドラインに引数を与えなくてすむようになる。まず、自分のホームディレクトリに .my.cnf を作り、そのファイルの中の [client] セクションに接続用のパラメターを記述する。 [client] host=host_name user=user_name password=your_pass .my.cnf ファイルはグループやその他のユーザーが読み書きできないように。ファイルのパーミッションは 400 か 600 が最適。 ブランクユーザの削除 mysql delete from user where user= #039; #039;; mysql select * from user; DBの管理 新規ユーザ権限の設定 Servlet用のDBとそれを扱うユーザを設定する まずMySQLにルートでログイン servlet用のDBを作る create database servletDB; ユーザの追加 grant all on servletDB.* to ユーザ名@ #039;% #039; identified by #039;パスワード #039;; ユーザは全てのホストでservletDBを使用可能。 @以下を書き換えればドメインによる制限が可能。%は’*’みたいなもん。 例:@"%.domain.co.jp" ユーザテーブルのリフレッシュ flush privileges; しなくてもなったけど。。。 バックアップ mysqldump(SQLベースのバックアップ) 存在するデータをすべてSQLにしてテキスト形式に保存 $ mysqldump -u root -x --all-databases dump.sql 特定のデータベースのみのバックアップ $ mysqldump -u root [[データベース]]名 dump.sql mysqldumpのすべてのデータベースのバックアップを復元 $ mysql -u root -p dump.sql 特定データベースのみの復元 $ mysql -u root データベース名 dump.sql コマンド・SQL テーブル名の変更 ALTER TABLE 元のテーブル名 RENAME TO 新しいテーブル名; 設定環境情報を見る status; 環境変数を見れる show variables; テーブル情報の表示 desc テーブル名; ファイルからのデータ挿入 LOAD DATA INFILE #039;/home/momota/5to20a_ID_name.txt #039; INTO TABLE aid2aname FIELDS TERMINATED BY #039;, #039; LINES TERMINATED BY #039;\n #039;; AUTO_INCREMENTをリセット ALTER TABLE table_name AUTO_INCREMENT=max_id_number 重複レコードの抽出 SELECT * FROM テーブルA WHERE 列A IN (SELECT 列A FROM テーブルA GROUP BY 列A HAVING COUNT(*) 1); インデックス関連 インデックスを貼る CREATE INDEX インデックス名 ON テーブル名 (フィールド名[, フィールド名, ...]); ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名); インデックスの確認 SHOW INDEX FROM テーブル名; インデックスの使用を確認する EXPLAIN SQL文 インデックスの削除 DROP INDEX インデックス名 ON テーブル名; SQLの結果行数を取得 LIMIT句で取得レコードが限定された場合でも全体のレコード数を取得 SELECT SQL_CALC_FOUND_ROWS * FROM テーブル名 LIMIT 0,1; SELECT FOUND_ROWS(); と実行すると、直前クエリのLIMIT句で制限されないレコード数が取得できる。 WHERE句を使った場合もOK SELECT SQL_CALC_FOUND_ROWS * FROM bookmark WHERE url_id = 1; +--------+---------+-------+------------+ | url_id | user_id | tid | date | +--------+---------+-------+------------+ | 1 | 135 | 1365 | 2007-04-18 | | 1 | 135 | 17365 | 2007-04-18 | | 1 | 1238 | 1365 | 2006-01-14 | | 1 | 1238 | 426 | 2006-01-14 | | 1 | 1550 | 1365 | 2005-10-02 | | 1 | 2211 | 23083 | 2005-10-03 | | 1 | 3933 | 426 | 2006-01-12 | | 1 | 3933 | 1365 | 2006-01-12 | | 1 | 4613 | 1365 | 2007-04-26 | | 1 | 4613 | 1073 | 2007-04-26 | | 1 | 4613 | 882 | 2007-04-26 | | 1 | 12546 | 1365 | 2005-10-02 | | 1 | 12546 | 12637 | 2005-10-02 | | 1 | 15932 | 4776 | 2006-11-22 | +--------+---------+-------+------------+ 14 rows in set (0.04 sec) SELECT FOUND_ROWS(); +--------------+ | FOUND_ROWS() | +--------------+ | 14 | +--------------+ 1 row in set (0.00 sec) テーブルのコピー 1 CREATE TABLE カラム作成 以下のSQL INSERT INTO `to_db`.`to_table` SELECT * FROM `from_db`.`from_table`; 2 CREATE TABLE to AS SELECT * FROM from_tb; WHERE句で条件付きのコピーも可能 テーブルの全データ削除 TRUNCATE [TABLE] hogetb; deleteよりも高速に削除可能 テーブル構成の変更 カラムの追加 ALTER TABLE テーブル名 ADD カラム名 型; カラムの削除 ALTER TABLE テーブル名 DROP カラム名; カラムのデータ型の変更 ALTER TABLE テーブル名 MODIFY カラム名 新しいデータ型; カラム名とデータ型の変更 ALTER TABLE CHANGE 古いカラム 新しいカラム 新しいデータ型; テーブル名の変更 ALTER TABLE 古いテーブル名 RENAME AS 新しいテーブル名; server再起動したらRubyからDBアクセスができなくなった件について error /usr/local/lib/[[ruby]]/site_ruby/1.8/dbi.rb 329 in `load_driver' Unable to load driver 'Mysql' (DBI InterfaceError) from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb 227 in `_get_full_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb 213 in `connect' 参考: http //www.rollamonkey.com/blog/?p=20 やってみたら動いた % sudo gem install mysql -- --with-mysql-dir=/usr/local/var % cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/ % sudo ruby extconf.rb install mysql -- --with-mysql-dir=/usr/local/var % make % make install clean 文字化け DB@FreeBSDが扱う文字列をUTF-8に統一 [client] port= 3306 socket= /tmp/mysql.sock [mysqld] #039; #039;default-character-set= utf8 #039; #039; init-connect= SET NAMES utf8 port= 3306 socket= /tmp/mysql.sock skip-locking key_buffer = 384M max_allowed_packet = 1M table_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M thread_concurrency = 8 log-bin server-id= 1 [mysqldump] quick max_allowed_packet = 16M [mysql] #039; #039;default-character-set = utf8 #039; #039; no-auto-rehash [isamchk] key_buffer = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 256M sort_buffer_size = 256M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout データ挿入 ファイルからの場合はUTF-8に変換してから挿入するもしUnix上で select * from hoge; で文字化けして表示されてもJDBC経由でデータ取ってきたら化けてないので御注意を。 JDBC jdbc mysql //ホスト名/データベース名?useUnicode=true characterEncoding=UTF8 で接続 Link smart++ MySQLクイック・リファレンス MySQLについて 四 ALTER TABLE(テーブル構成の変更)
https://w.atwiki.jp/semi-blog/pages/15.html
<コメント表示> ■コメント抽出 ?php $com_sql = "select * from comment where kiji_id =" . $id; $com_data = mysql_query($com_sql, $connect); while ($com_record = mysql_fetch_array($com_data, MYSQL_NUM)) { $com_id = $com_record[0]; $com_honbun = $com_record[2]; $com_namae = $com_record[3]; $com_date = $com_record[4]; ? ■コメント表示 ?php echo nl2br($com_honbun); ? br br [ ?php echo $com_namae; ? ] [ ?php echo $com_date; ? ]
https://w.atwiki.jp/wotagl2/pages/39.html
ミニマップの車両名の表示カラーをWN8の色に変更 ●車両名表示とプレイヤー名の色の設定を書き換えます。 編集ファイルの場所:[World_of_Tanks]-[res_mods]-[configs]-[xvm]-[default]-[minimapLabelsTemplates.xc] コマンド名:"vehicleSpotted" "nickSpotted" 記載行数:41~48行 57~64行 "vehicleSpotted" { "$ref" { "path" "def.defaultItem" }, "x" 2, "y" "{{squad?7|-1}}", "flags" [ "ally", "enemy", "squadman", "teamKiller", "spotted", "alive" ], "textFormat" { "size" 7 }, "format" " font color= {{c wn8}} {{vehicle}} /font " }, "nickSpotted" { "$ref" { "path" "def.defaultItem" }, "x" 2, "y" -1, "flags" [ "squadman", "spotted", "alive" ], "textFormat" { "size" 7 }, "format" " font color= {{c wn8}} i {{name%.7s~..}} /i /font " }, ●Ctrlキーでのミニマップの拡大位置の設定 編集ファイルの場所:[World_of_Tanks]-[res_mods]-[configs]-[xvm]-[default]-[minimap.xc] コマンド名:"zoom" 記載行数:42~49行 "centered"をtrueにするとctrlキーで中央に拡大 "centered"をfalseにするとctrlキーで右下に拡大