somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

mysql

【mysql】足りなくなったときの対処【partition】

パーティションが足りなくなるというミスを犯してしまったときの対処法です。 パーティションの追加 以下のようにして追加します。 ALTER TABLE テーブル名 ADD PARTITION ( PARTITION パーティション名 VALUES IN ( 追加する値) ENGINE = InnoDB ); これだ…

【mysql】検索の向上【partition】

ハードディスクのパーティションをよく聞きますが、MySQLにもパーティションという概念があります。MySQLの場合、分割する領域はテーブルの領域になります。 利点 テーブルの領域を分割することで検索範囲を明確にすることができます。ただし、正しく分割し…

【MySQL】テーブル名の変更

便利な構文を見つけたので、メモしておきます。 今までの手順 名前を変更したテーブルのデータおよび構造をSQL文としてエクスポート エクスポートファイルに記述されているテーブル名を修正 DROP TABLE 変更前テーブル名 インポート 実に面倒ですね。 今まで…

【MySQL】日付に対するbetween

今は、DBのデータを確認して解析サポートをしているのでSQLの復習にちょうどいいです。 between DBを使った解析でもっとも使うカラムは、ユーザIDと日付です。他にも必要なカラムは存在しますが、問い合わせ時には詳細なヒントが無いこともあります。 このよ…

【MySQL】sysdateとnowの違い

現在日付を返す二つの関数の違いについてのメモです。 結果 select sysdate(), sleep(2), now(), sysdate(), now() from dual sysdate() 0 now() sysdate()_1 now()_1 2012/03/22 7:55:03 0 2012/03/22 7:55:03 2012/03/22 7:55:05 2012/03/22 7:55:03 nowは…

【MySQL】dual表

oracleに存在するdual表ですが、mysqlでも使えました。しかし、mysqlでは使わずに試したいsqlをじっこうすることができました。指定の有無によるパフォーマンスの違いは分かっていませんが、省略できるのはいいですね。

【MySQL】文字コードの設定と確認

何回も書いているようでいないような文字コードの確認方法です。 存在する文字セットと照合参照 確認の前に、存在するものを確認するコマンドです。 show character set; show collation; status 現在の設定を表示するコマンドです。以下実行結果です。 mysq…

【MySQL】データのインポート・エクスポート【CSV】

csvファイルからのインポートと、csvファイルへのエクスポートについてのメモです。 テスト用テーブル 以下のようなテーブルを作成します。テーブル名はEclipseからエクスポートしたEmacsのキーバインドをテストしているためです。 create table csv_test ( …

【MySQL】rootユーザでアクセスできなくなった時の対処法

mysqlのrootユーザでアクセスできるホスト名を間違えて変更してしまったときの解決法をメモしておきます。 セーフモード まず、mysqlのプロセスを削除します。suで削除できる権限になり、psやtopなどでプロセス(mysqld)を特定し削除します。killallで削除す…

【MySQL】データベースの基本情報を閲覧する

作成したデータベースの照合順序を確かめたいときに調べたメモです。 INFORMATION_SCHEMA mysqlの基本となる情報は、このデータベースのテーブルに格納されています。useコマンドでデータベースを指定し、show tablesでテーブルの一覧を表示します。 use inf…

【MySQL】結果を縦表示にする

コマンドラインからたくさんのカラムが表示されるSQLを実行すると、結果が見づらくなります。そんなときに縦表示をしましょう。 縦表示 以下のコマンドをSQLの最後に付加するだけです。 バックスラッシュG

【MySQL】権限の設定

今までよくわからずに権限の設定をしていたので簡単にメモしておきます 権限の適用範囲 適用範囲には以下の5つがあります。 グローバル レベル 以下に示す4つの範囲を扱える データベース レベル 特定のデータベースを扱える テーブル レベル 特定のデータベ…

【MySQL】ビューの作成

MySQLでのビューの作成メモです。 構文 基本的な構文は以下の通りです。view名とSQLを記述するだけです。SQLに記載するテーブルは事前に作っておきましょう。 create or replace view test_view as select tyny_int_test from test_table where set_test = '…

【MySQL】my.cnfの設定

midiumからコピーしたmy.cnfに加えた設定です。 # my.cnfの修正 [client] default-character-set = utf8 [mysqld] # 文字コード設定 character-set-server = utf8 # クライアントの文字コードとサーバの文字コードを同様にセット skip-character-set-client-…

【MySQL】ソースでの初期設定【Linux】

思い返してみると、Linuxでのmysql経験が少なかったのでメモしておきます。 mysqlユーザの追加 まずはユーザが所属するグループを追加します。 groupadd mysql 次にユーザを追加します。 useradd -r -g mysql mysql # -rはユーザのホームディレクトリ削除 rp…

【MySQL】ソースから5.5をインストール

今回は、ソースからインストールします。 アンインストール 前回インストールしたmysqlをアンインストールします。 rpm -qa | grep MySQL | xargs rpm -e ダウンロード http://dev.mysql.com/downloads/mysql/#downloadsからSelect Platform:のSource Codeを…

【MySQL】RPMから5.5をインストール

CentOSにインストールするので、http://dev.mysql.com/downloads/mysql/#downloadsからRed Hat & Oracle Linux 5 (x86, 32-bit), TARをダウンロードしてインストールしました。ソースだと思って展開したら、rpmの集まりでした・・・。Red Hatはrpm管理が基本な…

【MySQL】照合順序

phpMyAdminでよく見かける照合順序についてのメモです。 照合順序 文字データの並べ替えと比較の順序について定められたルール。今回はこのうち、文字列の比較をするときアルファベットの大文字小文字を区別する(case-sensitive)かしないのか(case-insensiti…

【MySQL】文字列を数字にキャストしてソート

order by句で cast (column_name as {signed} int)

【mysql】エクスポートファイルのインポート【phpmyadmin】

今回は、以下のような状況を解決する話です。 1.複数人で開発している(AさんとBさん) 2.Aさんは、テーブルおよびテストデータを作成した 3.Aさんは、phpmyadminでデータをエクスポートしている 4.Bさんは、Aさんのエクスポートしたデータを自分の環…

【mysql】ストアドルーチンとトリガの規制

今回は、トリガについてです。 トリガでやろうとおもったことは、 更新日付カラムを作成し、レコードを更新するたびに更新日付を自動で変更すること。 具体的には、トリガーにsysdate()やnow()を使うことで実現する予定でした。 しかし、タイトルに阻まれた…

【mysql】データベース作成とODBC(+α)【Windows】

今回は、DBの作成と、それにともなうODBCやツールの設定を行います。 1.DBの作成(xammpでインストールされたmysqlを用いています) 2.ODBCのインストール 3.A5:SQL Mk-2(SQL開発環境)の設定 1.DB作成 コマンドプロンプトからmysqlを実行します。 cd C…

mysqlのアップデートと設定

今回は、mysqlのアップデートとログ・文字コードの設定です。 1.アップデート いつも通り、yumを使用してアップデートします。 yum update mysql* アップデート対象:mysql mysql-server [バージョン] mysql -V mysql Ver 14.12 Distrib 5.0.77, for redha…