MySQL とは?
ページ内リンク
↓ウィキペディア(Wikipedia)記事
↓Yahoo!知恵袋
MySQL
:
オープンソース系RDBMSのひとつ。PostgreSQLとともに非常によく使用される。PostgreSQLに比べ、機能は少ないが高速に動作する。また扱いやすいため、非常に多くのwebサイトで使用されている。 Windowsにもインストーラを使って簡単にインストールできる。この点も、PostgreSQLより有利な点だろう。*1 *1:PostgreSQLも、2005年1月21日 Windows版インストーラ8.0(日本語版)がリリースされました
出典: 『はてなダイアリー』
ノースウエスト航空
のマイルは、国内航空会社のマイレージと違って無期限!! 格安パックツアーでも
100%マイルが付くのでお得!! 国内往復分15000マイルを貯めて沖縄や北海道へ!!
関連商品
西沢 夢路 /
最安値(新品): ¥ 3,129
最安値(中古): ¥ 3,128
この本は素晴らしい。
1回のつまずきもなく読み終えることができました。
この本を読んで「わからない」と言う人はもうMySQLの学習は永久に止めたほうが良いでしょう。なぜならこの本以上に分かりやすく書かれたMySQL本は無いのですから・・・それぐらい読みやすく、理解しやすい本です。
著者の西沢夢路さんのファンになりました!!
(s.k さんのレビュー)
chatnoir(内水はるか) /
最安値(新品): ¥ 3,360
 中上級者向けと言われる本書ですが、私はXOOPS初級者の方にとっても、本書は必携になると思っています。
特に第一章は、私のようにXCLでXOOPSデビューする人にとっては必読です。
X2のバイブルと言われる「Customizing XOOPS ‾自由にデザイン・自在にHack」を参考にする際にも、
本書でX2とXCLの違いを理解しておけば、コーディングミスで発生するトラブルも未然に防げると思います。
あとはネット上の情報で大抵のテクニカル情報はカバー出来るかと思います。
ユーザーが初級者だからと言って、発生するトラブルも初級レベルとは限りません。
開発レベルまで見渡すことでXOOPSの全体像が見えるし、自分がやろうとしていることがどのレベルのことなのか認識できる。
オススメです!
(波乗りーマン さんのレビュー)
Paul Dubois /
最安値(新品): ¥ 4,640
最安値(中古): ¥ 7,555
 練習問題と書籍の内容まるまる収録したCD-ROMがついており、内容的には満足です。
が、 MySQLのサイトで盛んに宣伝されている「25%割引試験バウチャー」は、もう付いていません。
バウチャー目当てで買おうとしている方はご注意ください。
(ボブぞう さんのレビュー)
小島 まさご /
最安値(新品): ¥ 2,604
最安値(中古): ¥ 2,600
最安値(新品): ¥ 110,338
最安値(新品): ¥ 161,263
ウィキペディア(Wikipedia)記事
MySQL(マイエスキューエル)は、RDBMS(リレーショナルデータベースを管理、運用するためのシステム)の実装の一つである。オープンソースで開発されており、GNU GPLと商用ライセンスのデュアルライセンスとなっている。
他の多くのオープンソースプロジェクトと異なり、MySQLはスウェーデンの単一の営利企業「MySQL AB」によって保持されていたが2008年2月26日にMySQL ABがサン・マイクロシステムズに買収されたことによって現在はサン・マイクロシステムズが保有している。またトレードマークおよび著作権もこの企業が所有している。
概要
世界で最も有名なオープンソース・データベースとして知られている。 他のフリーRDBMSと比較して高速性に定評があり、特に更新よりも参照の頻度の高いアプリケーションに向くとされている。具体的にはWebアプリケーションの多くが該当する。データストレージエンジンはSQLエンジンとは分離独立しており、用途に応じた機能を持つストレージエンジンを選択できる「マルチストレージエンジン」方式となっている。
トランザクション
MyISAMでは、トランザクションをサポートしていない。 バージョン3.23.34以降で組み込まれているInnoDBは、オープンソースソフトウェア企業のInnobase社が開発したストレージエンジンであり、トランザクションをサポートしている。 InnoDBはメディア障害時の更新ログによるリカバリもサポートしている。 ただし、トランザクションの概念がなかったMyISAMベースのテーブルを検索する場合の高速性は、InnoDBの場合は簡単に即座に得ることはできず、チューニングが必要である。 ただし、MySQL 5.0 では、InnoDBの方が、MyISAMよりも読み込みが速いことも多い。
その他の機能
副次問い合わせ(サブクエリ)は、バージョン4.1以降でサポートされている。
バージョン5.0以降では、SQL99にストアドプロシージャ、ビュー、トリガーが実装され、機能の面でも他のRDBMSに追いつきつつある。
その他、標準でマスタスレーブ方式のレプリケーション機能を備えており、堅牢なデータストレージの構築が比較的容易である。
普及
世界的にはこのMySQLとFirebirdの方がPostgreSQLよりも多く使用されており、ウェブサイトの構築に用いるソフトウェア環境として、LAMP (Linux, Apache, MySQL, PHP) の略称が知られている。Yahoo!などの巨大なウェブサイトでの適用例も多く、WebアプリケーションのXOOPS、WordPressも利用している。また、ウィキペディアのためのソフトウェアであるMediaWikiでもこのソフトウェアを使用している。他にも、社内用WebアプリケーションのサイボウズもMySQLを利用している(MySQLを改造するため、有償契約をしている)。
世界的な傾向に反し、日本ではPostgreSQLの適用例がMySQLを上回っている。2003年の時点で、オープンソース系のデータベースとして、日本では8割以上がPostgreSQLであった。
その理由として、以下の理由が指摘されている。
- 欧米において、MySQLの広報が積極的であった。
- MySQLの日本ユーザ会の立ち上げが遅れた。
- 日本でのPHPのバイブル本である「PHP徹底攻略」と「PHP4徹底攻略(通称マンモス本)」がPostgreSQLとの接続を想定して記述されていた。
- PostgreSQLの開発に日本人が関わっていた(SRAの石井達夫氏。氏は上記二冊の執筆も一部担当している)。
- Javaを開発するSun Microsystemsが、MySQLよりもPostgreSQLを推していた。
- ただしSun MicrosystemsがMySQLを買収したことにより、今後はMySQLをより重視していく可能性が高い。
- かつてのMySQLでUnicodeのサポートが不十分であった。
- アプリケーションの頒布形態によってはGPLではなく商用ライセンスを選択しなければならないケースがある。
ライセンス
MySQL Community ServerはGPLライセンスの下で無償配布されている。そのため、企業等でこのMySQLを用いたソフトウエアを開発した場合には次のような事項を守る必要があると言われている。
- MySQLを改造し、それを第三者に再頒布(販売・譲渡等)する場合は、開発したデータベースサーバもGPLで配布しなければならない。(ソフトウエアの購入者からソースコードを求められたら配布しなければならない)
- MySQLを改造するわけではなく、プロセス間通信として、MySQLに接続し、利用する場合は、そのソフトウェア自体はGPL以外のライセンスで配布して良い。
- 自社開発でMySQLを改造し、自社のWebサーバで利用する場合には、ソースコードの開示は行わなくて良い。GPLによるソースコードの開示を求める権利を有するのは、ソフトウエアを入手したものという解釈による。Webサービス利用者にはこれは当てはまらない。
MySQL Enterpriseは商用ソフトとして販売されている。そのため、GPLライセンスの制限が掛からず、このMySQLを用いたソフトウエアを第三者に配布する場合にソースコードを開示する必要性は無い。
|
|
この記事の内容に関する文献や情報源を探しています。ご存じの方はご提示ください。出典を明記するためにご協力をお願いします。 |
歴史
- 1995年5月23日 - 内部的に MySQL の最初のバージョンがリリース。
- 1998年1月8日 - 最初の Windows 版がリリース。Windows 95 や NT 向け。
- 2001年1月 - Version 3.23 プロダクションリリース。ベータ版は2000年6月にリリース。
- 2003年3月 - Version 4.0 プロダクションリリース。ベータ版は2002年8月にリリース。union搭載。
- 2004年10月 - Version 4.1 プロダクションリリース。ベータ版は2004年6月にリリース。R木、B木、サブクエリー、prepared statements搭載。
- 2005年10月 - Version 5.0 プロダクションリリース。ベータ版は2005年3月にリリース。cursors, stored procedures, triggers, views, XA transactions搭載。
- 2008年2月6日 - サンマイクロシステムズがMySQL ABを買収。
- 2008年7月1日 - サン・マイクロシステムズ株式会社がMySQL株式会社(MySQLの日本法人)を吸収合併。
- Version 5.1。現在、pre-production。ベータ版は2005年11月にリリース。event scheduler, partitioning, plugin API, row-based replication, server log tables搭載。
プラットフォーム
MySQL 5.0は以下のプラットフォームでサポートされている。
開発言語
C, C++, Eiffel, Smalltalk, Java(JNI), Lisp, Perl, PHP, Python, Ruby, TclはMySQLのAPIを介してデータベースへアクセスできる。またODBCインターフェース (MyODBC) もサポートされている。MySQL自体はCおよびC++で開発されている。 埋め込みSQLによる開発はサポートされていない。
日本語処理
MySQL5においてsjis(Shift_JIS)、utf8(UTF-8)、ujis(EUC-JP)など各種文字セットを指定できる。パソコンではかつて一般的であったsjisは[1]、Webページにおいて一部文字化けが発生することが知られている[2]が、一方Webアプリケーションでは標準のutf8は、ODBCリンクしたMicrosoft Accessにおいて正しく表示できないことがある。この場合MyODBCのオプションキャラクタをsjisにしておけば、正しく入出力できる。ちなみにRuby on Rails、CakePHPのデフォルトはutf8であるが、データベース接続設定でencodingをutf8と明示的に使用宣言しておく必要がある。
MySQL5においてデフォルトの文字セットはutf8であるが、入出力において不安定で、文字化けが起きることがある[3]。このようなときは、サーバーに接続するとき、「mysql_connect」に続いて「mysql_select_db」でデータベースを指定した直後に「set charset utf8」のクエリを送っておくと解決する。
MySQLの管理ツール
関連項目
脚注
- ^ Windowsでは現在なおShift_JISがデフォルトであるが、WebアプリケーションではUTF-8が主流となり、YahooやGoogleなど主なWebサイトもUTF-8となっている。
- ^ Shift_JIS#利点と欠点参照のこと。
- ^ utf8で保存してあるデータが文字化けして表示されたり、utf8で入力したデータが文字化け状態で保存される。
リンク
 All text is available under the terms of the GNU Free Documentation License. この記事は、ウィキペディアの記事を複製、改変、再配布したものにあたり、 GNU Free Documentation Licenseというライセンスの下で提供されています。 ことなびに掲載されているウィキペディアの記事も、全て GNU Free Documentation Licenseの元に提供されております。
Yahoo!知恵袋
-
本かテキストでプログラミングの勉強する方法はありませんか?WEB製作者の人たちなど(プログラマーというのでしょうか?)のようなことが出来るようになりたいのですが。
解決日時:Wed, 26 Nov 2008 15:04:35 +0900 /
回答数:1 /
スコア:5,820点
-
おすすめのホームページサービスを教えてください。独自ドメインはとれてもとれなくてもオッケーです。ただMobable Type4.2を入れて、blogとして使っていきたいです。もちろん安ければ安いほどうれしいです!f^_^;
解決日時:Sat, 29 Nov 2008 03:16:32 +0900 /
回答数:2 /
スコア:6,018点
-
ローカル環境にSQLを使えるようにしたいのですが…いい方法はないでしょうか?先ほど回答などいただきましたが少し足りない部分があったので補足版です。対象としているPCは非常にしょぼくてどうしようか悩んでいます。PostglesやMySQLなどもいいのですが・・・PCスペックはHDD空き容量が6GBでメモリ128MBです。これに耐えうる環境で・・・今までサーバーを立ててオラクルでアプリケーション作成のテストをしていたのですが今日 掃除をしているときにパソコンを倒して壊してしまったようです( ̄▽ ̄;)直るまで仮環境を作ってアプリケーションのテストをしたいのですが何がよいのでしょうか?アクセスがあればいいのですがありません…
解決日時:Sat, 22 Nov 2008 03:40:01 +0900 /
回答数:2 /
スコア:18,638点
-
ローカル環境にSQLを使えるようにしたいのですが…いい方法はないでしょうか?今までサーバーを立ててオラクルでアプリケーション作成のテストをしていたのですが今日掃除をしているときにパソコンを倒して壊してしまったようです( ̄▽ ̄;)直るまで仮環境を作ってアプリケーションのテストをしたいのですが何がよいのでしょうか?アクセスがあればいいのですがありません…
解決日時:Fri, 07 Nov 2008 23:11:23 +0900 /
回答数:2 /
スコア:5,995点
-
指数を生成するには?もしかしたらSQLの質問になるかもしれないですが、数学に詳しい方ご教授願います。たとえば経度 135.1234 緯度35.1234と言うA地点(中心地点)があるとします。他には、経度 136.1234 緯度36.1234のB地点や、経度 137.1234 緯度37.1234のC地点など、複数の位置情報がDBに格納されています。★A地点を中心に、B地点やC地点を「近いほうから並べてDBより出力したい」と考えています。考え方としてA地点を100とした指数的なものを生成し、それを基準に並べればよいかと考えたのですが、数学があまりに不得手で数式の取っ掛かりがまるで見えない状態です(汗)また、上記の方法以外でも実現する良い方法がありましたら是非ご教授願います。PHP バージョン 5.2.6 MySQL バージョン 4.1.21
解決日時:Fri, 07 Nov 2008 13:02:38 +0900 /
回答数:1 /
スコア:17,549点
-
SQL DBの問題なのですが。下のこのテーブル名:table01でcreate table table01 (a char(8) ,b int ,c int ,d int ,e int ,f int ,g int ,h int ,i int );insert into table01 (a,b) values ( 'null01',2000);insert into table01 (a,c,d) values ( 'null02',5,5);insert into table01 values ( 'null03',NULL,NULL,NULL,180,83,NULL,NULL,NULL);insert into table01 values ( 'null04',63,NULL,NULL,NULL,NULL,'32',NULL,NULL);insert into table01 values ( 'null05',23,NULL,NULL,NULL,NULL,NULL,'A',NULL);insert into table01 values ( 'null06',NULL,NULL,63,96,45,33,82,'8');insert into table01 values ( 'null07',63,10,63,47,74,53,12,'9');insert into table01 values ( 'null08',22,63,NULL,NULL,NULL,NULL,NULL,'10');「eの平均値より高いレコードを特定し、そのうちaを求め、aの順で並び替え表示させよ。」という問題なんですがどのように解いていいのか分かりません。解説よろしくお願いします。
解決日時:Wed, 12 Nov 2008 04:08:27 +0900 /
回答数:2 /
スコア:6,132点
|
↓ニュース
↓YouTube
↓テレビ番組
↓はてブ
↓ヤフオク
↓このページへのリンク
PageRank5以上の相互リンク
・相互リンクスクエア
(PageRank 5)
・相互リンク インプロス
(PageRank 5)
→便利!NINJA TOOLS
→FC2検索
用語
Wikipedia
YouTube
|