Welcome! page//info/hajime.html | |
odic.ne.jp library PostgreSQLとMySQL | |
by:大阪演劇情報センター+未知座小劇場 | 更新日:2017年 09月 10日(Sun) 11:24:16 AM |
home:topへ server library:top へ |
◎注記◎ データベース名:mydb $:コンソール上 :Enter tako:ユーザ名 tbl:テーブル名 |
PostgreSQL | 操作項目 | MySQL |
/var/lib/pgsql | RPM:DBdir | /var/lib/mysql |
5432 | 接続ポートNo | 3306 |
/var/lib/pgsql/data/pg_hba.conf | 設定ファイル | /etc/my.cnf |
起動/操作
|
||
$ psql mydb | 起動 | $ mysql -u tako -h hostname -p |
=> \q; | 終了 | mysql> \q; |
$ psql -c "vacuum;" mydb | バキューム | |
$ vacuumdb --analyze mydb | バキューム | |
$ pg_ctl -w start | postmasterの起動 | ----------------- |
$ pg_ctl stop | postmasterの停止 | ----------------- |
----------------- | MySQLの停止 | # mysqladmin -u tako -p shutdown |
=> create user tako with oassword 'tako'; | crypt authentication | ----------------- |
$ pg_dump mydb > ファイル名 | backup | mysql> mysqldump mydb tbl > dumpfile名 |
backup | mysql> mysqldump --database mydb > dumpfile名 | |
$ pg_dumpall -o > ファイル名 | 全backup | mysql> mysqldump --all-database > dumpfile名 |
$ psql mydb < ダンプファイル | リストア | |
$ psql -e template1 < ダンプファイル | 全リストア | |
tableから書出し | mysql> SELECT * INTO OUTFILE '/tmp/tako.out' FROM tbl; | |
同CSV | mysql> SELECT * INTO OUTFILE '/tmp/tako.out' FILEDS TERMINATED BY ',' ENCLOSED BY '"' FROM tbl; | |
psql mydb < /home/tako/ファイル名 | リダイレクション | $ mysql -u root -p mydb < sql.txt |
=> \i /home/tako/ファイル名 | リダイレクション | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' IGNORE INFO TABLE tbl |
「:」区切り読み込み | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' INFO TABLE tbl FILEDS TERMINATED BY ':'; | |
「'"'」CSV同 | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' INFO TABLE tbl FILEDS TERMINATED BY ',' ENCLOSED BY '"'; | |
user |
||
----------------- | rootpasswoord | # mysqladmin -u root password '********' |
$ createuser tako => alter user tako with encrypted password 'xxxxxx'; |
user登録 | mysql> grant all on mydb.* to tako@localhost identified by "password"; |
passwordの変更 | mysql> SET PASSWORD FOR tako@localhost = PASSWORD('password'); | |
----------------- | リフレシュ | mysql> FLUSH PRIVILEGES; |
$ dropuser tako | user削除 | |
=> select usename from pg_user | user一覧 | mysql> SELECT host,user,password FROM mysql.user; 現在登録されている host,user,password を知ることができる。 |
DB作成 |
||
$ createdb mydb | DB作成 | mysql> create database mydb; |
$ dropdb mydb | DB削除 | mysql> drop database mydb; |
$ psql mydb | DB選択 | mysql> use mydb; |
$ psql -l | DB一覧 | mysql> show databases; |
=> \l; | DB一覧 | mysql> show databases; |
table |
||
=> create table tbl; | table作成 | mysql> create table tbl; |
=> drop table tbl; | table削除 | mysql> drop table tbl; |
----------------- | table最適化 | mysql> optimize table tbl ; |
=> \dt; | table一覧 | mysql> show tables; | table内容 | mysql> DESCRIBE tbl; テーブル構造の一覧 mysql> SHOW FIELDS FROM tbl; テーブル構造の一覧 『基礎PHP』p208 |
カラム(フィールド) |
||
Sample | カラムの追加 | mysql> alter table <テーブル名> add <カラム名> <カラム定義> [FIRST|AFTER <カラム名>] mysql> alter table book_table add bbuy varchar(20) NOT NULL; MYSQL『徹底攻略ガイド』p175 |
=> \d tbl; | カラム一覧 | mysql> desc tb1; |
カラム追加 | mysql> alter table tb1 add column(カラム名 char(20)); | |
データ登録 | mysql> insert into tb1(カラム名) values('データ'); | |
table内容一覧 | mysql> SELECT * FROM tbl カラムデータの一覧表示 | |
=> Sample | カラムの削除 | mysql> alter table <テーブル名> drop <カラム名> |
Sample | カラムの追加(最前列) | mysql> alter table <テーブル名> add <カラム名> first |
=> Sample | カラムの追加(最後尾) | mysql> alter table <テーブル名> add <カラム名> |
Sample | カラムにプライマリーキーの追加 | mysql> alter table <テーブル名> add primary key (<カラム名>) |
データの取り込み |
||
テキストファイル | SOURCE スクリプトファイル名 『基礎PHP』p213 mysql> LOAD DATA INFILE '/home/tako/../../../data.txt' INTO TABLE tablename; 『MySQL徹底活用』p63 mysql -u ユーザ名 -p < ファイル名 『PHP入門』p202 |
|
CVSファイル | ||
psql mydb < /home/tako/ファイル名 | リダイレクション | $ mysql -u root -p mydb < sql.txt |
=> \i /home/tako/ファイル名 | リダイレクション | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' IGNORE INFO TABLE tbl |
「:」区切り読み込み | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' INFO TABLE tbl FILEDS TERMINATED BY ':'; 『MySQL徹底活用』p65 | |
「'"'」CSV同 | mysql> LOAD DATA INFILE '/home/tako/xxx/txt' INFO TABLE tbl FILEDS TERMINATED BY ',' ENCLOSED BY '"'; 『MySQL徹底活用』p65 | |
データの書きだし |
||
テキストファイル | |
|
CVSファイル | ||
権限設定
|
||
=> grant insert on tbl,tb2 to nobody; | 権限設定 書式 | |
=> grant select on tbl,tb2 to nobody; | 権限設定 閲覧許可 | |
=> grant all on tbl to tako; | 権限設定 all許可 | |
=> revoke all on tbl from tako; | 権限変更 解除 | mysql> REVOKE SELECT ON mydb.* FROM tako; |
=> create group group1; | グループ作成 | |
=> alter group group1 add user tako; | takoをグループ1 | |
=> grant select on tbl to group group1; | グループ1へ権限 | |
=> \z; | 権限閲覧 | mysql> GRANTS FOM tako@localhost; |
SQL文 |
||
レコード追加 | ||
レコード削除 | ||
レコード変更 | ||
=> SELECT * FROM tbl; | レコード表示 | |
レコード並変 | ||
=> copy tb1 from /mnt/mo/file.data; | レコード取得 | |
=> copy tb1 to /mnt/mo/file.data; | レコード書出 | |
=> copy tb1 '/mnt/mo/file.data' using delimiters '.'; | レコードのcopy | |
レコード条件取得 | ||
フィールドの変更 | mysql> alter table tb1 modify field text not null; | |
複数条件の組合 | ||
インデックス作成 | ||
データタイプ(data型)
|
||
int | 整数 | |
float | 浮動小数点 | |
real | 実数 | |
char | 文字列 | |
varchar | 可変文字列 | |
date | data型 日付 | |
time | 時間 | |
PHP関数 |
||
接続ID取得 | mysql_connect("host", "usr","password") | |
pg_connect() | db接続 | mysql_select_db(db名, 接続ID) |
pg_exec() | SQL文実行 | mysql_query(クエリ, 接続ID) |
連想配列の取得 | mysql_fetch_array(結果ID) | |
pg_freeresult() | メモリの開放 | mysql_free_result(結果ID) |
pg_close() | db切断 | |
参照/参考URL |
||
PostgreSQL ODBC Driver 日本語版 | ||
PostgreSQLとMySQL(サイト内の備忘録です) | ||
MySQL(サイト内の備忘録です) | ||
Sample |
||
=> Sample | Sample | mysql> Sample |
Sample | Sample | Sample |
top home:top server library:top PHP PostgreSQL MySQL サンプルスクリプト