PostgreSQL

createdbコマンド何してるの - PostgreSQL

PostgreSQLでデータベースを作成するとき createdb コマンドを使うのが習慣になっていて、 CREATE DATABASE は使った事がない。CREATE DATABASE と何か違うのか以前から気になっていた。ヘルプを見るとサーバーに送信したコマンドを表示するオプションがある…

列名の変更 ALTER TABLE 表名 RENAME COLUMN 列名 TO 変更後の列名 - PostgreSQL

列名の変更。 ALTER TABLE enemy_list RENAME COLUMN is_bold TO is_hage;

列にデフォルト値を設定する - PostgreSQL

後から列にデフォルト値を設定する ALTER TABLE テーブル名 ALTER COLUMN 列名 SET DEFAULT デフォルト値; ALTER TABLE hoge_table ALTER COLUMN hoge_flag SET DEFAULT 0;列を追加する際にデフォルト値を設定する ALTER TABLE テーブル名 ADD COLUMN 列名 …

PostgreSQL 文字型のYYYY/MM/DD を YYYYMMDD にする

文字型のカラムに ymd に '2012/12/12' みたいな日付文字列が格納されている。 '/' を消して '20121212' みたいに変換したくなった。 当初 substring(ymd, 1,4) || substring(ymd, 6,2) || substring(ymd,9,2) みたいなことを考えたんだけど、単に replace …

psql および mysql コマンド〜 ターミナル(CUI)で利用するときの備忘録

psql mysql データベース一覧 \l show databases; テーブル一覧 \d show tables; カラム一覧 \d テーブル名 show columns from テーブル名; インデックス一覧 \i テーブル名 show index from テーブル名; CREATE TABLE文 show create table; 縦表示 \pset ex…

データベースの名前を変更してみた - PostgreSQL

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リネーム対象以…

プライマリキーをつけ直してみる - PostgreSQL

CREATE TABLE hoge_table ( hoge_column integer NOT NULL, PRIMARY KEY(hoge_column) ); 上記のような CREATE TABLE 文を実行すると hoge_table_pkey のような名前で プライマリキーが作成される。これが気に入らないので自分で名前を決めて作り直したいと…

列の型やサイズの変更 ALTER TABLE 表名 ALTER COLUMN 列名 TYPE 型 - PostgreSQL

PostgreSQL 8.x 当初の想定より長い文字列を格納することになったのでサイズを大きくするなど。 ALTER TABLE video ALTER COLUMN title TYPE VARCHAR(1024); 変更後のサイズを超えるデータが格納されていたらエラーになる。

select文の結果をCSVにする方法を考える

psql -t -A -F',' -c "SELECT * FROM hoge" > hoge.txtpsql コマンドのオプションによりカンマ区切りで出力することができます。 -c で、指定したSQL文を非対話的に実行できます。 -F で列の区切り文字を変更できます。 (デフォルトは '|' ) 区切り文字を変…