<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>mysql | Web活メモ帳</title>
	<atom:link href="https://blog.verygoodtown.com/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.verygoodtown.com</link>
	<description>WEB開発者が使える世界の情報を発信します</description>
	<lastBuildDate>Mon, 25 Sep 2017 02:05:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.10</generator>
<site xmlns="com-wordpress:feed-additions:1">122803348</site>	<item>
		<title>MySQLでlatin1_swedish_ciの文字化けを解消する方法</title>
		<link>https://blog.verygoodtown.com/2014/09/mysql-latin1_swedish_ci-to-utf8/</link>
					<comments>https://blog.verygoodtown.com/2014/09/mysql-latin1_swedish_ci-to-utf8/#respond</comments>
		
		<dc:creator><![CDATA[linja]]></dc:creator>
		<pubDate>Mon, 22 Sep 2014 12:32:02 +0000</pubDate>
				<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://blog.verygoodtown.com/?p=9358</guid>

					<description><![CDATA[<p>本日、Movable Typeのサーバー移行をする必要があったのですが、 DBの文字コードがlatin1_swedish_ciで登録されており エクスポートした際に文字化けが発生してしまいまいた。 解消する方法を教えても [&#8230;]</p>
The post <a href="https://blog.verygoodtown.com/2014/09/mysql-latin1_swedish_ci-to-utf8/">MySQLでlatin1_swedish_ciの文字化けを解消する方法</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></description>
										<content:encoded><![CDATA[<p>本日、Movable Typeのサーバー移行をする必要があったのですが、<br />
DBの文字コードがlatin1_swedish_ciで登録されており<br />
エクスポートした際に文字化けが発生してしまいまいた。</p>
<p>解消する方法を教えてもらったでのブログでもシェアします。<span id="more-9358"></span></p>
<h3>状況</h3>
<p>phpMyAdminでデータを見ると、こんな風に文字化けしてしまっています。</p>
<p><img loading="lazy" src="https://blog.verygoodtown.com/wordpress/wp-content/uploads/2014/09/20140922-01.png" alt="20140922 01" title="20140922-01.png" border="0" width="583" height="194" /></p>
<p>これを何も考えずにサーバー移行をしてしまい、画面が文字化けしてしまいました。</p>
<p><img loading="lazy" src="https://blog.verygoodtown.com/wordpress/wp-content/uploads/2014/09/20140922-02.png" alt="20140922 02" title="20140922-02.png" border="0" width="600" height="484" /></p>
<p>これを解消する方法として、既存のデータをUTF-8に変換してからデータ移行をします。</p>
<h3>対応方法</h3>
<p>１、文字化けしているデータをバイナリに変換し<br />
２、バイナリからUTF8に再変換する</p>
<p>と言う流れで解消されるようになります。</p>
<p>実行するSQLは以下の2つになります。</p>
<pre class="brush:sql">
ALTER TABLE [テーブル名] MODIFY [フィールド名] BINARY(255);
ALTER TABLE [テーブル名] MODIFY [フィールド名] VARCHAR(255) CHARACTER SET utf8;
</pre>
<p>テンプレートデータなどのmediumtext型はBLOG型に変更してからutf8に変換します。</p>
<pre class="brush:sql">
ALTER TABLE [テーブル名] MODIFY [フィールド名] BLOB;
ALTER TABLE [テーブル名] MODIFY [フィールド名] mediumtext CHARACTER SET utf8;
</pre>
<p>これで変更完了です。</p>
<h3>MTの文字コードを全てutf8に変換するSQL</h3>
<p>実際に実行したSQLも載せておきますので参考にしてみてください。</p>
<pre class="brush:sql">
ALTER TABLE `mt_asset` MODIFY `asset_file_name` BINARY(255);
ALTER TABLE `mt_asset` MODIFY `asset_file_name` VARCHAR(255) CHARACTER SET utf8;


ALTER TABLE `mt_asset` MODIFY `asset_label` BINARY(255);
ALTER TABLE `mt_asset` MODIFY `asset_label` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_blog` MODIFY `blog_name` BINARY(255);
ALTER TABLE `mt_blog` MODIFY `blog_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_category` MODIFY `category_description` BLOB;
ALTER TABLE `mt_category` MODIFY `category_description` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_category` MODIFY `category_label` BINARY(255);
ALTER TABLE `mt_category` MODIFY `category_label` VARCHAR(255) CHARACTER SET utf8;


ALTER TABLE `mt_entry` MODIFY `entry_text` BLOB;
ALTER TABLE `mt_entry` MODIFY `entry_text` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_entry` MODIFY `entry_title` BINARY(255);
ALTER TABLE `mt_entry` MODIFY `entry_title` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_entry_meta` MODIFY `entry_meta_vclob` BLOB;
ALTER TABLE `mt_entry_meta` MODIFY `entry_meta_vclob` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_entry_meta` MODIFY `entry_meta_vchar_idx` BINARY(255);
ALTER TABLE `mt_entry_meta` MODIFY `entry_meta_vchar_idx` VARCHAR(255) CHARACTER SET utf8;


ALTER TABLE `mt_field` MODIFY `field_description` BLOB;
ALTER TABLE `mt_field` MODIFY `field_description` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_field` MODIFY `field_name` BINARY(255);
ALTER TABLE `mt_field` MODIFY `field_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_log` MODIFY `log_message` BLOB;
ALTER TABLE `mt_log` MODIFY `log_message` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_log` MODIFY `log_metadata` BINARY(255);
ALTER TABLE `mt_log` MODIFY `log_metadata` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_role` MODIFY `role_description` BLOB;
ALTER TABLE `mt_role` MODIFY `role_description` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_role` MODIFY `role_name` BINARY(255);
ALTER TABLE `mt_role` MODIFY `role_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_tag` MODIFY `tag_name` BINARY(255);
ALTER TABLE `mt_tag` MODIFY `tag_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_tbping` MODIFY `tbping_junk_log` BLOB;
ALTER TABLE `mt_tbping` MODIFY `tbping_junk_log` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_tbping` MODIFY `tbping_excerpt` BLOB;
ALTER TABLE `mt_tbping` MODIFY `tbping_excerpt` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_tbping` MODIFY `tbping_blog_name` BINARY(255);
ALTER TABLE `mt_tbping` MODIFY `tbping_blog_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_template` MODIFY `template_name` BINARY(255);
ALTER TABLE `mt_template` MODIFY `template_name` VARCHAR(255) CHARACTER SET utf8;

ALTER TABLE `mt_template` MODIFY `template_text` BLOB;
ALTER TABLE `mt_template` MODIFY `template_text` mediumtext CHARACTER SET utf8;


ALTER TABLE `mt_trackback` MODIFY `trackback_description` BLOB;
ALTER TABLE `mt_trackback` MODIFY `trackback_description` mediumtext CHARACTER SET utf8;

ALTER TABLE `mt_trackback` MODIFY `trackback_title` BINARY(255);
ALTER TABLE `mt_trackback` MODIFY `trackback_title` VARCHAR(255) CHARACTER SET utf8;

</pre>
<p>以下のサイトを参考にさせていただきました。感謝</p>
<blockquote><p>
<a href="http://dezimo.com/blog/web/mysqllatin1-swedish-ci.php" target="_blank">MySQLで、latin1_swedish_ciなどの文字化けを解消</a>
</p></blockquote>The post <a href="https://blog.verygoodtown.com/2014/09/mysql-latin1_swedish_ci-to-utf8/">MySQLでlatin1_swedish_ciの文字化けを解消する方法</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.verygoodtown.com/2014/09/mysql-latin1_swedish_ci-to-utf8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9358</post-id>	</item>
		<item>
		<title>除外するデータが大量にある場合に使うSQL</title>
		<link>https://blog.verygoodtown.com/2014/05/not-in-sql/</link>
					<comments>https://blog.verygoodtown.com/2014/05/not-in-sql/#respond</comments>
		
		<dc:creator><![CDATA[linja]]></dc:creator>
		<pubDate>Fri, 16 May 2014 01:00:18 +0000</pubDate>
				<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://blog.verygoodtown.com/?p=9285</guid>

					<description><![CDATA[<p>#463043069 / gettyimages.com SQLで検索をかける際に、除外するデータが大量にある場合に使うSQLを教えてもらったので自分用にメモ。 やり方としては2通りありました。 NOT IN で除外する [&#8230;]</p>
The post <a href="https://blog.verygoodtown.com/2014/05/not-in-sql/">除外するデータが大量にある場合に使うSQL</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></description>
										<content:encoded><![CDATA[<div style="background-color:#fff;display:inline-block;font-family:'Helvetica Neue',Arial,sans-serif;color:#a7a7a7;font-size:11px;"><iframe loading="lazy" src="//embed.gettyimages.com/embed/463043069?et=ivjUi1CQS192QB6cAgr9Tg&#038;sig=jqNwHDeNxLRJJYSm_yN-ugL4q3Fki0rQDGmYIGJmsQQ=" width="507" height="398" scrolling="no" frameborder="0" style="display:inline-block;"></iframe></p>
<p style="margin:0;">
<div style="padding:0;margin:-12px 0 4px 10px;text-align:left;"><a href="http://www.gettyimages.com/detail/463043069" target="_blank" style="color:#a7a7a7;text-decoration:none;font-weight:normal !important;border:none;">#463043069</a> / <a href="http://www.gettyimages.com" target="_blank" style="color:#a7a7a7;text-decoration:none;font-weight:normal !important;border:none;">gettyimages.com</a></div>
</div>
<p>SQLで検索をかける際に、除外するデータが大量にある場合に使うSQLを教えてもらったので自分用にメモ。</p>
<p><span id="more-9285"></span></p>
<p>やり方としては2通りありました。</p>
<h3>NOT IN で除外する方法</h3>
<p>NOT IN で除外する値を指定していきます。数個で良い場合は簡単ですね。</p>
<pre class="code">
SELECT * FROM T1 WHERE フィールド名 
NOT IN("特定の値","特定の値","特定の値","特定の値");
</pre>
<h3>除外リストテーブルを作る方法</h3>
<p>別テーブルに除外リストを作る方法です。<br />
除外したいデータが大量にある場合や、編集・追加が多い場合に便利です。</p>
<pre class="code">
SELECT * FROM T1
WHERE NOT EXISTS(SELECT * FROM T2 WHERE T2.F1 = T1.F1)
</pre>
<p>以下のサイトを参考にさせていただきました。感謝！<br />
<a href="http://oshiete.goo.ne.jp/qa/1426449.html" target="_blank">http://oshiete.goo.ne.jp/qa/1426449.html</a></p>The post <a href="https://blog.verygoodtown.com/2014/05/not-in-sql/">除外するデータが大量にある場合に使うSQL</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.verygoodtown.com/2014/05/not-in-sql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9285</post-id>	</item>
		<item>
		<title>[初心者向け]MySQLで特定のキーワードを含むデータを取得する方法～like検索の使い方</title>
		<link>https://blog.verygoodtown.com/2014/04/mysql-like-search/</link>
					<comments>https://blog.verygoodtown.com/2014/04/mysql-like-search/#respond</comments>
		
		<dc:creator><![CDATA[linja]]></dc:creator>
		<pubDate>Wed, 09 Apr 2014 01:00:56 +0000</pubDate>
				<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://blog.verygoodtown.com/?p=8892</guid>

					<description><![CDATA[<p>本日MySQLで特定のキーワードを含むデータだけを抽出したいんだけどどうやるの？と質問をいただきました。誰かの役に立つかもしれないのでブログでもご紹介します。 例えば、書籍の価格をまとめた以下のようなテーブル「books [&#8230;]</p>
The post <a href="https://blog.verygoodtown.com/2014/04/mysql-like-search/">[初心者向け]MySQLで特定のキーワードを含むデータを取得する方法～like検索の使い方</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" src="https://blog.verygoodtown.com/wordpress/wp-content/uploads/2014/04/20130403-01.png" alt="20130403-01" width="337" height="180" class="alignnone size-full wp-image-8901" srcset="https://blog.verygoodtown.com/wordpress/wp-content/uploads/2014/04/20130403-01.png 337w, https://blog.verygoodtown.com/wordpress/wp-content/uploads/2014/04/20130403-01-300x160.png 300w" sizes="(max-width: 337px) 100vw, 337px" /></p>
<p>本日MySQLで特定のキーワードを含むデータだけを抽出したいんだけどどうやるの？と質問をいただきました。誰かの役に立つかもしれないのでブログでもご紹介します。</p>
<p><span id="more-8892"></span></p>
<p>例えば、書籍の価格をまとめた以下のようなテーブル「books」があったとします。<br />
title、priceと言う２つの項目のみになっているとします。</p>
<p>■booksテーブル<br />
┏━━━━━━━━━━━━━━━┯━━━┓<br />
┃title                         │price ┃<br />
┣━━━━━━━━━━━━━━━┿━━━┫<br />
┃ニュースの読み方              │1,200 ┃<br />
┠───────────────┼───┨<br />
┃入門初めてのPHP               │3,500 ┃<br />
┠───────────────┼───┨<br />
┃初めてのMySQLデータベース入門 │2,800 ┃<br />
┗━━━━━━━━━━━━━━━┷━━━┛</p>
<p>このbooksテーブルからMySQLに関連したデータだけを取り出したい場合を考えてみましょう。この場合、「SELECT * FROM books where title = &#8216;MySQL&#8217;」<br />
としても、書籍名が「MySQL」だけで無ければ取り出せません。<br />
「MySQL入門」や「初めてのMySQL」のように、ほとんどの書籍が「MySQL」という語句の前後に別の文字を含んでいるはずだからです.<br />
このように特定のキーワードを含むデータを取りだす場合には, like演算子と「<strong>%</strong>」(パーセント)や「<strong>_</strong>」(アンダーバー)を組み合わせてWhere句を指定します。</p>
<p>「%」は０文字以上の任意の文字列を意味し、「_」は任意の 1文字を表します.</p>
<h3>使い方</h3>
<p>末尾が「MySQL」になる、いわゆる後方一致検索の場合は、「LIKE &#8216;%MySQL&#8217;」のようにします&#8217;。</p>
<pre class="code">
WHERE フィールド名 LIKE '%文字列'
</pre>
<p>前方一致検索の場合は、「LIKE &#8216;MySQL%&#8217;」のようにします。</p>
<pre class="code">
WHERE フィールド名 LIKE '文字列%'
</pre>
<p>部分一致検索（どこかに含まれていれば良い）の場合は、「LIKE &#8216;%MySQL%&#8217;」のようにします。</p>
<pre class="code">
WHERE フィールド名 LIKE '%文字列%'
</pre>
<p>&#8216;_&#8217;は任意の1文字にマッチします。1で始まり3で終わる3文字の文字列を検索する場合、1_3のようにします。</p>
<pre class="code">
WHERE フィールド名 LIKE '1_3'
</pre>
<h3>エスケープ処理</h3>
<p>&#8216;%&#8217;や&#8217;_&#8217;を文字列に含む場合にマッチさせたい場合、「<strong>¥</strong>」を前につけてエスケープを行います。</p>
<pre class="code">
¥%
¥_
¥¥
</pre>
<p>特定の文字列を含まないデータのみ取得したい場合は <strong>NOT</strong> 演算子を使います。</p>
<pre class="code">
WHERE フィールド名 NOT LIKE '%文字列%'
</pre>
<h3>大文字小文字を区別する場合</h3>
<p>デフォルトでは大文字と小文字を区別しませんので、区別を行いたい場合はBINARY演算子を使用します。</p>
<pre class="code">
WHERE フィールド名 LIKE BINARY '%Japan%'
</pre>
<p>この場合、Japanと言うデータにはマッチしますがjapanにはマッチしません。</p>
<h3>オススメ書籍</h3>
<p>MySQLを学んで行く方には、やはり書籍が便利です。<br />
初めての方には以下の書籍がオススメですよ^^</p>
<p><iframe src="//rcm-fe.amazon-adsystem.com/e/cm?t=msyk5569-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774140767&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上、MySQLで特定のキーワードを含むデータを取得する方法でした。</p>The post <a href="https://blog.verygoodtown.com/2014/04/mysql-like-search/">[初心者向け]MySQLで特定のキーワードを含むデータを取得する方法～like検索の使い方</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.verygoodtown.com/2014/04/mysql-like-search/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8892</post-id>	</item>
		<item>
		<title>coreserverでデータベースに接続できなくなっていた</title>
		<link>https://blog.verygoodtown.com/2011/04/coreserver-mysql-connect/</link>
					<comments>https://blog.verygoodtown.com/2011/04/coreserver-mysql-connect/#respond</comments>
		
		<dc:creator><![CDATA[linja]]></dc:creator>
		<pubDate>Tue, 26 Apr 2011 00:15:00 +0000</pubDate>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[coreserver]]></category>
		<guid isPermaLink="false">http://blog.verygoodtown.com/?p=7017</guid>

					<description><![CDATA[<p>昨日のお昼ぐらいからなんだかデータベースに接続できないとWordPressさんがおっしゃっている。 何が原因だー。サーバーにはFTPで接続できるし、他のドメインは見る事ができるのでデータベース回りかなと思ってphpMyA [&#8230;]</p>
The post <a href="https://blog.verygoodtown.com/2011/04/coreserver-mysql-connect/">coreserverでデータベースに接続できなくなっていた</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></description>
										<content:encoded><![CDATA[<p>昨日のお昼ぐらいからなんだかデータベースに接続できないとWordPressさんがおっしゃっている。</p>
<p>何が原因だー。サーバーにはFTPで接続できるし、他のドメインは見る事ができるのでデータベース回りかなと思ってphpMyAdminを開いてみる。</p>
<p><span id="more-7017"></span></p>
<p><img loading="lazy" src="https://blog.verygoodtown.com/wordpress/wp-content/uploads/2011/04/20110425-07.jpg" alt="20110425 07" title="20110425-07.jpg" border="0" width="523" height="287" /></p>
<p>↑すると、接続できないとのエラーが、、、。</p>
<pre class="code">
#1203 – User ***** already has more than ‘max_user_connections’ active connections
</pre>
<p>そんなにアクセス数多い感じでは無いんだけど、、、と思ったが<br />
とりあえずSSH接続してDBの最適化をかけてみる。</p>
<pre class="code">
mysqlcheck --host=127.0.0.1 --user=&lt;USERNAME&gt; --password=&lt;PASSWORD&gt; -a
-o --optimize --all-databases</pre>
<p>これで何とか復活！一安心です。<br />
データベースの最適化って定期的にやった方が良いんですかね。<br />
どのくらいの頻度でやれば良いんだろ・・・</p>
<p>以下のサイトを参考にさせていただきました！感謝！<br />
<a href="http://pc.casey.jp/archives/153894489" target="_blank">coreserver データベース接続が壊れた！</a></p>The post <a href="https://blog.verygoodtown.com/2011/04/coreserver-mysql-connect/">coreserverでデータベースに接続できなくなっていた</a> first appeared on <a href="https://blog.verygoodtown.com">Web活メモ帳</a>.]]></content:encoded>
					
					<wfw:commentRss>https://blog.verygoodtown.com/2011/04/coreserver-mysql-connect/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7017</post-id>	</item>
	</channel>
</rss>
