你的位置:首页 > 数据库

[数据库]postgresql 基本语法

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 notnullFROM pg_class as c,pg_attribute as awhere c.relname ='myTableName' and a.attrelid = c.oid and a.attnum>0;

 

查询当前时间:

  postgresql语句返回不包含毫秒级精度的当前日期时间:

SELECT CURRENT_TIMESTAMP(0); --postgresql语句返回不包含毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41+08SELECT CURRENT_TIMESTAMP(1); --postgresql语句返回包含1位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.3+08SELECT CURRENT_TIMESTAMP(2); --postgresql语句返回包含2位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.34+08SELECT CURRENT_TIMESTAMP(3); --postgresql语句返回包含3位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.345+08SELECT CURRENT_TIMESTAMP(4); --postgresql语句返回包含4位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.3425+08SELECT CURRENT_TIMESTAMP(5); --postgresql语句返回包含5位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.34451+08SELECT CURRENT_TIMESTAMP(6); --postgresql语句返回包含6位毫秒级精度的当前日期时间,例如 2016-12-29 16:54:41.345921+08