1.建表、删除表的DDL语句
CREATE TABLE IF NOT EXISTS "my_table" ( id SERIAL NOT NULL, name varchar(255) NOT NULL, age varchar(255) NOT NULL, dr int2 DEFAULT 0, PRIMARY KEY (id) ); --删除表 DROP TABLE IF EXISTS "my_table";
2.字段的增删改
--新增字段 ALTER TABLE my_table ADD COLUMN remark VARCHAR(200); --删除表字段 ALTER TABLE my_table DROP COLUMN remark; --修改列类型和长度 ALTER TABLE my_table ALTER COLUMN remark TYPE VARCHAR(500); --修改列名 ALTER TABLE my_table RENAME COLUMN remark TO remark2;
3.添加注释
--修改表注释 COMMENT ON TABLE my_table IS '表注释'; --修改字段注释 COMMENT ON COLUMN my_table.name IS '字段注释名称';
4.创建索引
--建普通索引(索引名通常为 idx_表名_字段名) CREATE INDEX IF NOT EXISTS idx_my_table_age ON my_table USING btree (age); --建唯一索引 CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS idx_unique_my_table_id ON my_table (id); --组合索引 CREATE INDEX IF NOT EXISTS index_name ON table_name (column1_name, column2_name); --删除索引 DROP INDEX IF EXISTS idx_unique_my_table_id; --新增主键 ALTER TABLE my_table ADD CONSTRAINT custom_name_of_my_table_id PRIMARY KEY (id);
5.创建序列
CREATE SEQUENCE IF NOT EXISTS id_no START 10000;
6.分配数据库表权限给用户
--赋予用户表权限 ALTER TABLE my_table OWNER TO user_name; --赋予用户所有表权限 GRANT ALL ON my_table TO user_name; -- 赋予用户表的增删改查权限 GRANT INSERT,UPDATE,DELETE,SELECT ON my_table TO user_name; --将此表的SELECT权限赋给所有用户 GRANT SELECT ON my_table TO PUBLIC; --赋予demo_role所有表的SELECT权限 GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to user_name;
标签:语句,PostgreSQL,name,--,id,DDL,table,my,TABLE From: https://www.cnblogs.com/jiaopeng2009/p/16944075.html