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

■ Tutorial


___

■ copy

mysqlで、テーブルをコピーするには mysqlで、テーブルをそっくりそのままコピーするには、今まで、下記のようなかたちでコピーしていました。 CREATE TABLE NewTable AS SELECT * FROM OldTable use test; CREATE TABLE movie AS SELECT * FROM art; これだと、主キーやインデックスなどはコピーしてくれません。 そこで、ちょっと調べました。 ちゃんとテーブル構造すべてをコピーしてくれるコマンドがあるんですね。
    CREATE TABLE  newtable  LIKE  oldtable
    CREATE TABLE  test.cook  LIKE  test.home;
echo "CREATE TABLE test.music LIKE test.movie" CREATE TABLE test.home LIKE test.movie とりあえず. insert してみる. -> 初動をクリアすること. 1. INSERT INTO new SELECT * FROM old TRUNCATE TABLE TableName;
___

■ ファイル 読み込み

SYNTAX LOAD DATA INFILE file INTO TABLE tbl DESC ファイルから読み込むには LOAD DATA ステートメントを使う csv ファイルを読み込みもできる
    -- CREATE TABLE の順番でならべる
    -- デフォルトは tab 区切り
    name  age
    foo   10    
    bar   11    
    LOAD DATA INFILE test.txt INTO TABLE tbl
    -- 値がない場合は NULL を意味する \n を指定する
    \n   10
    bar  11
___

■ CSV 出力

DESC テーブル情報を CSV などのファイルに出力する。 ファイルはSQLサーバー側に出力される。 WARNING 既存のファイルの指定できない ( 理由は /etc/passwd などのデータベーステーブルやファイルが破壊されないようにするため )
    -- 
    --- ERROR 1086 (HY000) at line 15: File 'd:/foo.txt' already exists


  SELECT * INTO OUTFILE "/home/user/dump.txt" 

  -- 区切りは [,]
  FIELDS TERMINATED BY ',' 

  -- quot は ["]
  OPTIONALLY ENCLOSED BY '"' 

  -- 行区切り 
  LINES TERMINATED BY "\n" 

  FROM tbl;



  // 拡張子によって 区切り文字が変わる
  mysql> SELECT * INTO OUTFILE 'c:/test.txt' FROM tbl;


  // Client に出力する
  mysqldump --tab や mysql -e "SELECT ..." > outfile などのクライアントプログラムを使用する

WARNING mysqld が実行するので, root として実行するべきではない
___

■ 文字列 比較

DESC 文字列の比較は比較演算子でする。 このとき 文字コード順に比較される。
    -- 名前が E より後 ( F 以降 )のレコードを返す
    select * from member  name > "E"
___

■ 文字列 Quote

TIP "" の中でも \ が必要な文字がある Quote できないと ["] を ["] の中で指定できないから
    // Check するには 次のようにする
    select "str";
  // [\]
  select "\\";

  // ["]
  select "\"";

  // [']
  //  " の中の ' は quot は不要
  select "'";

  // ["]
  select '"'

  // [\]
  select '\\'

  // ["]
  select '\"'
  
  insert into tbl (name,age,str) values('\"aaa',32,'bbb')

  // [\"aaa]  
  select '\\"aaa';

  // [\\"aaa]  
  select '\\\\"aaa';

  // ["aaa]  
  select '\"aaa';


  // 2つ重ねることでエスケープする
  // RET  "
  select """"

  // RET  '
  select ''''
___

■ Command

DESC GUI Tool を使う人も 4 コマンドは最低限おぼえておくと便利
  // 追加
    insert into tbl (col1, col2...) values(val1, val2...)

  // クエリ
    select col from tbl where cnd 

  /// 更新
    update from tbl where cnd

  // 削除
    delete from tbl where cnd
___

■ CommandlineTool.から操作する

DESC GUI Tool もあるが CommandlineTool からも利用できる 他のプログラムから、DB の情報を得るときに便利
  //  ユーザー XXX が パスワード YYY でログイン
  shell> mysql -u XXX -pYYY
  shell> mysql --user=XXX --password=YYY


  // bye
  mysql> bye

  // DB を選択 ( Table ではない )
  use test;

  //  table を Listup
  show tables;

  // Help
  ?


  // Column を追加
  ALTER TABLE Customer ADD age int(3);

  // 終了
  quit;
  // STDIN から SQL 文を入力
  echo use test;select * from tbl where path="aaa" | mysql -u XXX -pXXX
  // script を指定して batch 処理
  mysql -u XXX -pXXX <  /dust/script.sql
WARNING command の最後に [;] を忘れないこと
___

■ backup

DESC バックアップをするには mysqldump.exe を使う。 このコマンドは DB を再作成するための sql 文を出力する
    -- xxx DB を backup.sql という名前のファイルでバックアップをとる
    mysqldump.exe xxx > backup.sql -u XXX -pYYY
バックアップを復元するには, バッチモードで実行するだけ
    mysql>  hogedb <  backup.sql -u XXX -pXXX
___

■ 実行結果をファイルに出力

    -- d:/sql.txt にログを出力
    mysql> tee d:/sql.txt

    -- 出力を停止
    mysql> notee d:/sql.txt
___

■ 文字.Code

___

■ 現在のCodeを調べる

DESC mysql> status
  // RET

  Connection id:          33
  SSL:                    Not in use
  Using delimiter:        ;
  Server version:         5.1.41-community MySQL Community Server (GPL)
  Protocol version:       10
  Connection:             localhost via TCP/IP
  Client characterset:    utf8
  Server characterset:    utf8
  TCP port:               3306
  Uptime:                 2 hours 28 min 37 sec

___

■ 変更する

でも telnet からだと 文字化けする
















NINJAIDX 2