9件中 1-5件目     [ 1 2 ]

PostgreSQLでは、MySQLとは違いUPDATE文にLIMITやORDERを付けることができない。 そのため、あるテーブルから指定した件数のレコードを更新するには、UPDATEとSELECTを組み合わせて書く必要がある。


PostgreSQLにはランダムな数値を取り出すRANDOM関数があり、これを使うことにより、テーブルからランダムにデータを取り出すことができる。


PostgreSQLとMySQLではnullを含んだカラムでソートするときのnullの扱いが違う。 PostgreSQLでnullは、nullでない値よりも大きな値としてソートされ、MySQLでは、nullでない値よりも小さな値としてソートされる。

そのnullの扱いが自分の意図したものと異なる場合や、データベースを変更する場合などに困ったことになることもある。


レコードの挿入はSQLの基本であるが、多くのサイトでは基本的な挿入方法しか説明しておらず、複数レコードを挿入する方法やSELECTの結果を挿入する方法、ファイルからデータを挿入する方法などを説明しているサイトは少ない。


PostgreSQLでは以下のようなクエリーでカラムを削除する。

ALTER TABLE <テーブル名> DROP <カラム名> [RESTRICT | CASCADE];
ALTER TABLE test DROP user_name;
ALTER TABLE test DROP number CASCADE;
ALTER TABLE sample DROP status_id;

最後にCASCADEを付けることでそのカラムに依存するオブジェクトがあっても削除することができず、RESTRICTを付けるか省略した場合、依存するオブジェクトが存在すると削除することができない。

以下のようなクエリーで同時に複数のカラムを削除することもできる。

ALTER TABLE <テーブル名> DROP <カラム名>, DROP <カラム名>, ....;
ALTER TABLE test DROP login_name, DROP comment;
ALTER TABLE test DROP login_time, DROP login_id;

9件中 1-5件目     [ 1 2 ]