PostgreSQL 常用语句

-- 表连接
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

你可能感兴趣的:(PostgreSQL 常用语句)