postgresql 基本语法

时间:2022-12-31 14:28:23

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