| 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 サンプルスクリプト