PostgreSQL
PostgreSQLでデータベースを作成するとき createdb コマンドを使うのが習慣になっていて、 CREATE DATABASE は使った事がない。CREATE DATABASE と何か違うのか以前から気になっていた。ヘルプを見るとサーバーに送信したコマンドを表示するオプションがある…
列名の変更。 ALTER TABLE enemy_list RENAME COLUMN is_bold TO is_hage;
後から列にデフォルト値を設定する ALTER TABLE テーブル名 ALTER COLUMN 列名 SET DEFAULT デフォルト値; ALTER TABLE hoge_table ALTER COLUMN hoge_flag SET DEFAULT 0;列を追加する際にデフォルト値を設定する ALTER TABLE テーブル名 ADD COLUMN 列名 …
文字型のカラムに ymd に '2012/12/12' みたいな日付文字列が格納されている。 '/' を消して '20121212' みたいに変換したくなった。 当初 substring(ymd, 1,4) || substring(ymd, 6,2) || substring(ymd,9,2) みたいなことを考えたんだけど、単に replace …
psql mysql データベース一覧 \l show databases; テーブル一覧 \d show tables; カラム一覧 \d テーブル名 show columns from テーブル名; インデックス一覧 \i テーブル名 show index from テーブル名; CREATE TABLE文 show create table; 縦表示 \pset ex…
ALTER DATABASE でできる。 ALTER DATABASE hoge_db RENAME TO foo_db; リネーム対象のデータベースに接続しているとダメと言われる。 hoge_db=# ALTER DATABASE hoge_db RENAME TO hoge_db_bak; ERROR: current database may not be renamedリネーム対象以…
CREATE TABLE hoge_table ( hoge_column integer NOT NULL, PRIMARY KEY(hoge_column) ); 上記のような CREATE TABLE 文を実行すると hoge_table_pkey のような名前で プライマリキーが作成される。これが気に入らないので自分で名前を決めて作り直したいと…
PostgreSQL 8.x 当初の想定より長い文字列を格納することになったのでサイズを大きくするなど。 ALTER TABLE video ALTER COLUMN title TYPE VARCHAR(1024); 変更後のサイズを超えるデータが格納されていたらエラーになる。
psql -t -A -F',' -c "SELECT * FROM hoge" > hoge.txtpsql コマンドのオプションによりカンマ区切りで出力することができます。 -c で、指定したSQL文を非対話的に実行できます。 -F で列の区切り文字を変更できます。 (デフォルトは '|' ) 区切り文字を変…