2013/01/04

関数

MySQLで用いられる関数をまとめます。


関数名 説明 使用例
ABS 絶対値 select abs(-10);
MOD あまりを求める select mod(10,3);
FLOOR 小数点以下切り下げ select floor(10.6);
CEIL、CEILING 小数点以下を切り上げ select ceil(10.6);
ROUND 小数点以下を四捨五入 select round(10.6);
LOG 対数 select log(10);
LOG2 2を底とした対数 select log2(10);
LOG10 10を底とした対数を求める select log10(10);
POW、POWER 累乗 select pow(10,2);
SQRT 平方根 select sqrt(10);
PI 円周率 select pi();
RAND 乱数 select rand(10.3);
LEAST 最小値 select least(10,20,30);
GREATEST 最大値 select greatest(10,20,30);
DEGREES ラジアンを度に変換 select degrees(pi());
RADIANS 度をラジアンに変換 select radians(180);
TRUNCATE 小数点第*位で切り捨て select truncate(10.333, 2);
FORMAT 数値を整形 select format(11111.22222, 4);



関数名 説明 使用例
AVG 平均値 select avg(v1) from table1;
COUNT カウント select count(v1) from table1;
MAX 最大値 select max(v1) from table1;
MIN 最小値 select min(v1) from table1;
SUM 合計 select sum(v1) from table1;

変数型

データに用いられる変数型のうち、よく使うものをまとめます。

★★★




整数型 Column1
TINYINT -128127 or 0255
SMALLINT -3276832767 or 065535
MEDIUMINT -83886088388607 or 016777215
INT -21474836482147483647
   or 0
4294967295
BIGINT -92233720368547758089223372036854775807
  or 0
18446744073709551615
 
不動小数点型  
FLOAT -3.402823466E+38-1.175494351E-38
0
1.175494351E-383.402823466E+38
DOUBLE -1.7976931348623157E+308-2.2250738585072014E-308
0
2.2250738585072014E-3081.7976931348623157E+308
 
日付型・時刻型  
DATE 'YYYY-MM-DD''1000-01-01''9999-12-31'
DATETIME 'YYYY-MM-DD HH:MM:SS''1000-01-01 00:00:00''9999-12-31 23:59:59'
TIMESTAMP 'YYYY-MM-DD HH:MM:SS''1970-01-01 00:00:01''2037-12-31 23:59:59'
TIME 'HH:MM:SS''-838:59:59''838:59:59'
YEAR[(2|4)] YYYY190121550000 or 7069

格納エンジンの設定

デフォルトの格納エンジンを変更します
  my.ini
の中にある、次の値を、INNODBからMyISAMに書き換えます。

# default-storage-engine=INNODB
default-storage-engine=MyISAM

日本語を使うための設定

日本語が使えるようにするために、character-setを変更します。

mysqlをインストールしたディレクトリ
(ryotaroの場合は C:\Program Files\MySQL\MySQL Server 5.1 )
にある、
 my.ini
の中の、次の2箇所を、utf8からcp932に変えます。
[mysql]

# default-character-set=utf8
default-character-set=cp932







[mysqld]

# character-set-server=utf8
character-set-server=cp932






それによって、テーブル名や値に、日本語を入力することができます。









2012/12/12

データの直接入力

データを直接入力するサンプルです。
VBAの中でSQL文を実行するには、Executeコマンドを使うと良いようです。
ここではconで定義したデータベースに対して"t4"というテーブルを作成し、その後
insert文を使ってデータを直接入力しています。



Sub insert_data()
  Dim con As New ADODB.Connection
 
  '接続に使う文字列
  con.connectionstring = "Driver={MySQL ODBC 5.1 Driver}; database=test;"

  'conを開く
  con.Open
         
  'テーブルを作成する
  con.Execute "drop table if exists t4"
  con.Execute "create table t4(id int not null primary key, name char(20),txt text)"
         
  'データを直接入力する
  con.Execute "insert into t4(id,name,txt) values (1,100,'venu')"
  con.Execute "insert into t4(id,name,txt) values (2,200,'MySQL')"
  con.Execute "insert into t4(id,name,txt) values (3,300,'Delete')"

         
  'conを閉じる
  con.Close
 
End Sub





























このマクロを走らせる前のテーブルの状態を、コマンドラインで確認します。

















このマクロを実行し、show tables でテーブルの中身を確認します。
するとt4というテーブルが追加されているのがわかります。


select * from t4 を実行し、テーブル内のデータを見ると、VBAで入力した
3つのデータが入力されていることがわかります。








2012/12/07

リンク for Excel

エクセルVBAでMySQLをコントロールしたいときは、MySQLのページを見ると良いでしょう。
かなり詳しく書いてありますので、とても参考になります。

2012/08/22

VBAでデータベースをOpen/Closeする

データベースのOpenにはADO (ActiveX Data Objects)を使います。ADOを使うには準備が必要ですので、ここ を参考にしてExcelの設定を行って下さい。


◆データベースのオープンとクローズ



Sub dbOpen()

    Dim adoTest As New ADODB.Connection
    
    adoTest.Open "Driver={MySQL ODBC 5.1 Driver}; database=MySQL;"
            
    adoTest.Close
                
End Sub












ここでは上のようなVBAスクリプトを作成しました。データベースの操作は何も行っておらず、とりあえずデータベースを開いて閉じるだけの、簡単なスクリプトです。これから徐々に、データベースをいじっていきます。ここから先早く進まないとやりたいと考えていることができないので、がんばります。

参考サイト