python-postgresql学习笔记

作者: 书生_Scholar | 来源:发表于2019-10-21 10:02 被阅读0次

    pgAdmin4数据库操作

    CREATE DATABASE gs;    -- 创建数据库
    DROP DATABASE gs;        -- 删除数据库
    ALTER DATABASE gs_data RENAME TO gs_data0;    # 修改数据库名称
    
    

    pgAdmin4数据表操作

    --【例4.2】创建员工表tb_emp1
    --首先创建数据库test,新建立一个当前连接查询,在查询编辑器中输入以下SQL语句
    CREATE TABLE tb_emp1
    (
    id      INT,
    name   VARCHAR(25),
    deptId  INT,
    salary  FLOAT
    );
    --【例4.3】定义数据表tb_emp 2,其主键为id,SQL语句如下:
    CREATE TABLE tb_emp2
    (
    id      INT PRIMARY KEY,
    name   VARCHAR(25),
    deptId  INT,
    salary  FLOAT
    );
    --【例4.4】定义数据表tb_emp 3,其主键为id,SQL语句如下:
    CREATE TABLE tb_emp3 
    (
    id INT,
    name VARCHAR(25),
    deptId INT,
    salary FLOAT 
    PRIMARY KEY(id)
    );
    --【例4.5】定义数据表tb_emp4,假设表中间没有主键id,为了唯一确定一个员工,可以把name、deptId联合起来做为主键,SQL语句如下:
    CREATE TABLE tb_emp4
     (
    name VARCHAR(25),
    deptId INT,
    salary FLOAT,
    PRIMARY KEY(name,deptId)
    );
    --创建一个部门表tb_dept1,表结构如【表4.2】,SQL语句如下:
    CREATE TABLE tb_dept1
    (
    id       int PRIMARY KEY,
    name    VARCHAR(22)  NOT NULL,
    location  VARCHAR(50)
    );
    --定义数据表tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id,SQL语句为:
    CREATE TABLE tb_emp5 
    (
    id      INT PRIMARY KEY,
    name   VARCHAR(25),
    deptId  INT, 
    salary   FLOAT,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
    );
    --【例4.7】定义数据表tb_emp6,指定员工的名称不能为空,SQL语句如下:
    CREATE TABLE tb_emp6 
    (
    id     INT PRIMARY KEY,
    name   VARCHAR(25) NOT NULL,
    deptId  INT, 
    salary  FLOAT,
    CONSTRAINT fk_emp_dept2  FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
    );
    --【例4.8】定义数据表tb_dept2,指定部门的名称唯一,SQL语句如下:
    CREATE TABLE tb_dept2 
    (
    id      INT PRIMARY KEY,
    name    VARCHAR(22) UNIQUE,
    location  VARCHAR(50)
    );
    --⑵ 在定义完所有列之后指定唯一约束,语法规则如下:
    --[CONSTRAINT <约束名>] UNIQUE(<字段名>)
    --【例4.9】定义数据表tb_dept3,指定部门的名称唯一,SQL语句如下:
    CREATE TABLE tb_dept3 
    (
    id      INT PRIMARY KEY,
    name    VARCHAR(22),
    location  VARCHAR(50),
    CONSTRAINT STH UNIQUE(name)
    );
    --【例4.10】定义数据表tb_emp7,指定员工的部门编号默认为1111,SQL语句如下:
    CREATE TABLE tb_emp7 
    (
    id      INT PRIMARY KEY,
    name   VARCHAR(25) NOT NULL,
    deptId  INT DEFAULT 1111, 
    salary  FLOAT,
    CONSTRAINT fk_emp_dept3  FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
    );
    --【例4.12】将数据表tb_dept1中name字段的数据类型由VARCHAR(22)的修改成VARCHAR(30)。
    --输入如下SQL语句并执行。
    ALTER TABLE tb_dept1
       ALTER COLUMN name TYPE VARCHAR(30);
    --【例4.13】将数据表tb_dept1中的location字段名称改为loc,数据类型保持不变,SQL语句如下:
    ALTER TABLE tb_dept1 RENAME location TO loc;
    --【例4.14】在数据表tb_dept1中添加一个没有完整性约束的INT类型的字段managerId(部门经理编号),SQL语句如下:
    ALTER TABLE tb_dept1 ADD COLUMN managerId INT;
    --【例4.15】在数据表tb_dept1中添加一个不能为空的VARCHAR(12)类型的字段column1,SQL语句如下:
    ALTER TABLE tb_dept1 ADD COLUMN column1 VARCHAR(12) not  null;
    --删除字段的语法格式如下:
    --ALTER TABLE <表名> DROP <字段名>;
    --“字段名”指需要从表中删除的字段的名称。
    --【例4.16】删除数据表tb_dept1表中的column2字段。
    --删除column1字段,SQL语句如下:
    ALTER TABLE tb_dept1 DROP column2;
    --【例4.17】删除数据表tb_emp9中的外键约束。
    --首先创建表tb_emp9,创建外键deptId关联tb_dept1表的主键id,SQL语句如下:
    CREATE TABLE tb_emp9 
    (
    id      INT PRIMARY KEY,
    name   VARCHAR(25),
    deptId  INT,
    salary   FLOAT,
    CONSTRAINT fk_emp_dept  FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
    );
    --【例4.18】删除数据表tb_dept2,SQL语句如下:
    DROP TABLE IF EXISTS tb_dept2;
    --语句执行完毕之后,数据表列表中已经不存在名称为tb_dept2的表,删除操作成功。
    --在数据库中创建两个关联表,首先,创建表tb_dept2,SQL语句如下:
    CREATE TABLE tb_dept2 
    (
    id       INT PRIMARY KEY,
    name    VARCHAR(22),
    location  VARCHAR(50)
    );
    --接下来创建表tb_emp,SQL语句如下:
    CREATE TABLE tb_emp 
    (
    id       INT PRIMARY KEY,
    name    VARCHAR(25),
    deptId   INT, 
    salary   FLOAT,
    CONSTRAINT fk_emp_dept  FOREIGN KEY (deptId) REFERENCES tb_dept2(id)
    );
    --首先直接删除父表tb_dept2,输入删除语句如下:
    DROP TABLE tb_dept2;
    --接下来,解除关联子表tb_emp的外键约束,SQL语句如下:
    ALTER TABLE tb_emp DROP CONSTRAINT fk_emp_dept;
    --语句成功执行后,将取消表tb_enp和表tb_dept2之间的关联关系,此时,可以输入删除语句,将原来的父表tb_dept2删除,SQL语句如下:
    DROP TABLE tb_dept2;
    
    

    相关文章

      网友评论

        本文标题:python-postgresql学习笔记

        本文链接:https://www.haomeiwen.com/subject/fspvyctx.html