postgresql數據庫創建/修改/刪除等寫入類代碼語法總結:
1,創建庫
2,創建/刪除表
2.1 創建表
create table myTableName
2.2 如果表不存在則創建表
create table if not exists myTableName
2.3 刪除表
drop table if exists myTableName;
2.4 實例代碼:
drop table if exists myTableName; create table if not exists myTableName( id serial PRIMARY KEY, name char(11) NOT NULL, creationtime timestamp(6) with time zone );
說明:serial,bigserial 是自增長字段數據類型,分別對應 int,long
3,創建/修改字段
3.1 添加字段
ALTER TABLE myTableName ADD COLUMN wx_openid VARCHAR(28); ALTER TABLE myTableName ADD COLUMN wx_unionid VARCHAR(29);
postgresql數據庫查詢/判斷等讀取類代碼語法總結:
查詢所有的數據庫:
select * from pg_database;
查詢指定名字的數據庫:
select * from pg_database where datname='myDB';
查詢所有表信息:
select * from pg_tables;
查詢指定數據表信息:
select * from pg_tables where schemaname='public'; select * from pg_tables where tablename='myTableName';
查詢指定表結構(包含字段名稱,字段類型,是否可空等):
/*查看表結構*/ SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name,a.attnotnull as notnull FROM pg_class as c,pg_attribute as a where c.relname ='myTableName' and a.attrelid = c.oid and a.attnum>0;
查詢當前時間:
postgresql語句返回不包含毫秒級精度的當前日期時間:
SELECT CURRENT_TIMESTAMP(0); --postgresql語句返回不包含毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41+08 SELECT CURRENT_TIMESTAMP(1); --postgresql語句返回包含1位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.3+08 SELECT CURRENT_TIMESTAMP(2); --postgresql語句返回包含2位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.34+08 SELECT CURRENT_TIMESTAMP(3); --postgresql語句返回包含3位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.345+08 SELECT CURRENT_TIMESTAMP(4); --postgresql語句返回包含4位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.3425+08 SELECT CURRENT_TIMESTAMP(5); --postgresql語句返回包含5位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.34451+08 SELECT CURRENT_TIMESTAMP(6); --postgresql語句返回包含6位毫秒級精度的當前日期時間,例如 2016-12-29 16:54:41.345921+08