zoukankan      html  css  js  c++  java
  • PostgreSQL 常用语句

    -- 关联表,然后赋值
    update tb2 set tb2.fid = t.id from (select tb1.fid id from tb2
         left join tb1 on tb2.name = tb1.name) t;
    
    -- 提取列中一部分内容
    update flevel4 set tmp_name = substr(log_name, 0, strpos(log_name, '区')+1) where log_name like '%区%';
    
    -- 添加外键约束
    alter table datalist
    	add constraint datalist_level3_id_fk
    		foreign key (level3_id) references level3 (id);
    
    -- 修改数据库编码
    update pg_database set encoding = pg_char_to_encoding('GBK') where datname = 'nyc';
    
    -- 查看数据库编码
    select * from pg_database where datname='nyc';
    
    -- 纵向合并2个表
    select * from table1 union all select * from table2
    
    -- 删除表
    drop table 表名;
    
    -- 更新值
    update 表名 set "Name" = "PQMC" where fid > 0; -- 列名Name的值等于列名PQMC的值
    update 表名 set "Name" = 'PQMC' where fid > 0; -- 列名Name的值为'PQMC'
    
    -- 获取表的所有列名
    select column_name from information_schema.columns where table_name=表名;
    
    -- 删除列
    alter table 表名 drop column 列名;
    
    -- 修改表名
    alter table 表名 rename to 新表名;
    
    -- 修改列类型,并设置默认值
    alter table 表名 alter column "DJMC" set data type varchar using '9999'; 
    
    -- 添加列
    alter table "CQ" add column "DJMC" varchar;
    
    -- 修改列名
    alter table "CQ" rename "sjmc" to "SJMC"; 
    
    -- 获取连接服务下的所有表名(表名开头不包含pg_和sql_)
    select tablename from pg_tables
        where tablename not like 'pg_%' and tablename not like 'sql_%'
    
    -- 获取连接服务的所有数据库名
    select datname from pg_database;
    
    -- 表连接
    select s.id, s.name, c.title from student as s 
         left join class as c on s.class_id = c.id; --通过student表的class_id列和class表的id列进行两个表连接
    
    -- 为表添加外键(外键关联的一定是另一个表的主键)
    alter table student      -- 添加外键的表名
        add constraint fk_student_lesson -- 外键的名称
            foreign key(lesson_id) references lesson(id); --student表的lesson_id列的外键为lesson表的主键列id
    
    -- 创建带外键的表
    create table emp(
          id int primary key,
          name varchar(30),
          salary nemueric(9,2),
          dept_id int,
          constraint fk_emp_dept foreign key(dep_id) references dept(id) --emp表的dept_id列的外键为dept表的主键列id
    );
    
    -- 为表添加主键
    alter table student      -- 添加主键的表名
        add constraint pk_student_id -- 主键的名称
            primary key(id);        -- 主键的列名
    
    -- 创建带有主键的表
    create table emp(
          id int primary key, -- 列级约束主键,不能指定主键名称
          name varchar(30),
          salary numeric(9,2)
    );
    
    create table emp(
          id int,
          name varchar(30),
          salary numeric(9,2),
          constraint pk_emp primary key(id) -- 表级约束的主键,可以指定主键的名称
    );
    
    -- 创建序列
    create sequence teacher_id_seq start with 1; --从1开始的序列
    
    -- 为表的列设置自增序列
    alter table teacher alter column id set DEFAULT nextval('teacher_id_seq'::regclass); --teacher表的id列为自增序列
    
    -- 更新序列
    alter sequence teacher_id_seq restart with 7; --起始值为7
    
  • 相关阅读:
    css3很美的蟠桃动画
    EXCEL countif函数多条件
    R语言介绍
    【转】Docker:Docker Compose 详解
    【转】Linux基础命令-curl
    【转】进入正在运行的Docker容器的4种方式
    【转】yum和apt-get的区别
    【转】laravel框架中 session保存到Redis中
    【转】Laravel 控制器 Controller 传值到 视图 View 的几种方法总结
    【转】Laravel中使用门面模式(Facade)
  • 原文地址:https://www.cnblogs.com/lqqgis/p/13514896.html
Copyright © 2011-2022 走看看