// 数値から 書式変換
// 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;
-- カラムのデフォルト値を取得する
select default( idadr ) from member;
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;