トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
MySQL
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ SYNTAX



___

■ Comment

    -- コメントです
WARNING
    --Spaceがないとだめ
___

■ 演算子

DESC 演算子とは、演算内容を指示する記号(Symbol)のこと ( 子 )というのは 記号 ( Symbol のこと ) SQLの中で使用される式は、『オペランド』と『演算子(オペレータ)』を組み合わせたもの ie. 式. == { Operand, Operator } このオペランドを[ 操.作 ]する記号が、演算子です Expression : 10 + 100 Where + : Opecode 10 : Operand
___

■ 比較演算子

SYNTAX < > < = >= == DESC Operand の型によって比較方法が変わる

  // 2つとも整数なら , 整数として比較
  where number > 3

  // 2つとも文字列なら , 文字列(文字コード順)として比較
  where str > "abc"

  // 1つでも NULL なら NULL をかえす
  where number > 3

  // 一方が TIMESTAMP || DATETIME で
   他の引数が定数のときは定数は比較前にTIMESTAMP に変換されます

  //  他の場合は全て浮動小数として比較される

___

■ 論理演算子

DESC 引数に 0, NULL といった値がひとつでもあれば 0 がかえる BETWEEN 条件 AND OR TIP NULL の意は "データが存在しない" 数値や文字と 比較も計算もできない
___

■ 算術演算子(Math)

DESC sql は DB から 値を取るだけでなく, 算術演算もできる
  mysql> select 10 - 7, 8.8 - 17.92, 4.5 - 3.5, 5.7 - 10, 3.0 - 2.0;
  // 除算の結果は float になる
  // RET: 0.3333
  mysql> select 1/3

  // div ( 商 )
  // RET: 1
  mysql> select 4 div 3

  // mod
  // RET: 0
  mysql> select 4 % 2

  // mod
  // RET: 0
  mysql> select pow(2,4)
  
___

■ 関数.Function

POINT 関数を使えば, レコードの結果を編集してから取得できる
___

■ 数学.math


  // 除算の結果は float になる
  // RET: 1
  mysql> select abs (-1)

  // round ( 四捨五入 )
  // RET: 3.14
  mysql> select round( 3.1412, 2 ) 

  // truncate ( 切捨て )
  // RET: 3.14
  mysql> select truncate( 3.1412, 2 )

  // ceil, floor
  // RET: 4
  mysql> select ceil( 3.1412 )


  // 自然対数
  select exp( 1 );

  // 自然対数
  select exp( 1 );


  // 常用対数
  select log10( 1000 );

  // 常用対数
  select log2( 1024 );

  // 円周率
  select PI()
  
  // 少数を丸める
  // 11
  CEILING( 10.3 )
  // 10
  FLOOR( 10.3 )
  // 10.4
  ROUND( 10.36, 1 )
  // 10.3
  TRUNCATE( 10.31, 1 )



  // 数値から 書式変換
  // String 型になる

  // RET: 19,800
  mysql> select format( 19800, 0 )


  // 文字列から数値に 明示的に変換
  mysql> select cast( "100" as signed )
  
  // BAD
  mysql> select cast( "100.1" as float )

___

■ 文字列操作

___

■ LPAD

DESC Left Padding 左に文字を詰める // RET // 0000000009 select LPAD( "9", 10, '0' ); select LPAD( id, 10, '0' ) from tbl; // 数値の文字列を sort する // 1 // 2 // 11 select id from tbl order by LPAD( id, 10, '0' ); // 1 // 11 // 2 select id from tbl order by id
___

■ concat

  select concat("aaa","bbb");

  select concat(myoji,namae) from member;
___

■ insert

select insert( "abcdef", 2,3, '999' );
___

■ replace

  select  replace( "abcdef", "bcd", '999' );
___

■ length

    -- バイト単位
    select length("aaa");
    -- bit単位
    select bit_length("aaa");

    -- 文字単位
    select char_length("あああ");
___

■ space

    -- 5個分のスペースを返す
    select space(5);
___

■ strcmp

DESC 大小関係を返す。 ASCII 以外のマルチバイトでも利用できるが、大文字、小文字の区別はされない。
    -- 0
    stcmp( "abc", "ABC" )

    -- 1
    stcmp( "d", "ABC" )

    -- -1
    stcmp( "あ", "い" )
___

■ network

___

■ inet_aton inet_ntoa

  select inet_aton("127.0.0.1");
___

■ 集計.count

DESC グループ内での最大、最小を求める POINT 集計、平均はグループが対象になる。 グループは GROUP BY で指定したり、カラムが対象になる。
    select  max( id ) from member
    select  min( id ) from member
合計と平均
    select  avg( id )   from member
    select  sum( id )   from member
レコード数を取得する。
    -- テーブル内の全レコード数を取得する。
    select count(*) from member;

    -- カラム idadr が重複なしで何種類あるか取得する。
    select count(DISTINCT idadr) from member;

    
    -- 条件にマッチしたレコード数を取得する。
    select count(*) from member idadr = 1;

    

    
___

■ 日付時刻

    -- 秒数 < -> 時刻
    select sec_to_time( 777 );

    -- 2011-11-26
    select CURDATE();

    -- 2011-11-26
    select CURTIME();

    -- 2011-12-01 22:47:00
    select NOW();
___

■ 情報

    show slave hosts
    -- 現在のデータベースを取得する
    select database();
    -- 利用可能な権限リストを取得する。
    show privileges;

    -- カラムのデフォルト値を取得する
    select default( idadr ) from member;  
___

USAGE >■ USAGE

___

■ MySQLを起動する

DESC すべては Program であることを忘れないこと 常駐 Program であることを意識する. ( Service > MySQL にはいっている ) Program 本体は C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe ↑に SQL command を送信することで DB 操作をする ( 今は jsp 経由でなげている )
___

■ DB.を作成する

DESC MySQLAdminstrator(GUI) でのつくりかた
    1. Sel [カタログ]

    2. Sel Schema(図表) RMB > Create New Table


        Schema > Table という Data 構造らしい

    3. Column を入力する

        WARNING
          名前 (TIME | DESC) は reserved かも


          
    4. Table Name をいれる
    5. 作成したものを QueryBrowser で確認する

    TIP
      Primary Key には KEY Icon が表示される
      CHAR() の方が VCHAR よりも軽いらしい

    WARNING
      CHAR(256) は too big といって怒られる -> '\0' 文字を考慮してね ! ということかな ?


          

      以下の command が生成される    
        CREATE TABLE `mytbl`.`New Table` (
          `ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
          `TOOL` CHAR(128) NOT NULL,
          `ARG1` CHAR(256) NOT NULL,
          `ARG2` CHAR(256) NOT NULL,
          `ARG3` CHAR(256) NOT NULL,
          `ARG4` CHAR(256) NOT NULL,
          `TIME` CHAR(128) NOT NULL,
          `DESC` CHAR(256) NOT NULL,
          PRIMARY KEY (`ID`)
        )
        ENGINE = InnoDB;
  // DB の内容を一覧する
  // RET: mysql, test ( これが DB 扱いらしい. )
  SHOW DATABASES;

  // DB を作成する
  // ということは ( App ごとに )config.xml に指定するのは, DB の名前かも
  CREATE DATABASE testDB;

  // DB を選択する
  // Window 部分に, localhost:3306/testDB 
  USE testDB;
  
  // table 一覧をみる
  show tables;

  // table 作成
  create table Customer (
     age   INT(3),
     name VARCHAR(20),
     PRIMARY KEY (PREF_CD)
  );
USAGE 起動して接続する ( ということは, winsock などを利用して, DB へ SQL command を投げているのか ) DB はひとつの Program( PS )であり, Port 3306 から起動しているのか ? MySQL > MySQL Query Browser ServerHost: DB がある場所を指定する username : Account Password : xxx Table を選択する. USE SampleDB040;
















NINJAIDX 2