GaussDB如何创建修改数据库和数据表

一、背景

GaussDB 是一款由华为开发的企业级分布式数据库,具有高性能、高可用、高可靠性等特点,广泛应用于各种业务场景。本指南将介绍如何在 GaussDB 中创建数据库和数据表,修改表结构,并添加约束。

二、创建数据库和数据表

  1. 创建数据库
    在 GaussDB 中创建数据库可以使用 CREATE DATABASE 语句。以下是一个创建名为 example_db 的数据库的示例:
CREATE DATABASE example_db;

2.创建数据表
在创建数据库之后,可以使用 CREATE TABLE 语句来创建数据表。以下是一个创建名为 employee 的数据表的示例,该表包含员工的基本信息:

CREATE TABLE employee (

    emp_id SERIAL PRIMARY KEY,

    first_name VARCHAR(50),

    last_name VARCHAR(50),

    birth_date DATE,

    hire_date DATE,

    salary NUMERIC(10, 2)

);

三、修改表结构

在实际使用中,可能需要对现有的数据表进行结构上的修改。可以使用 ALTER TABLE 语句来添加、修改或删除表中的列。

  1. 添加列
    以下是一个向 employee 表中添加 department_id 列的示例:
ALTER TABLE employee

ADD COLUMN department_id INT;
  1. 修改列
    以下是一个修改 salary 列的数据类型的示例:
ALTER TABLE employee

ALTER COLUMN salary TYPE DECIMAL(12, 2);
  1. 删除列
    以下是一个删除 birth_date 列的示例:
ALTER TABLE employee

DROP COLUMN birth_date;

四、添加约束

为了确保数据的完整性和一致性,可以在表上添加各种约束,包括主键、外键、唯一性约束等。

  1. 添加主键约束
    创建表时已经添加了主键约束。下面是一个单独添加主键约束的示例:
ALTER TABLE employee

ADD CONSTRAINT pk_emp_id PRIMARY KEY (emp_id);
  1. 添加外键约束
    以下是一个为 employee 表中的 department_id 列添加外键约束的示例,该列引用 department 表中的 dept_id 列:
ALTER TABLE employee

ADD CONSTRAINT fk_department

FOREIGN KEY (department_id) REFERENCES department(dept_id);

3.添加唯一性约束
以下是一个为 employee 表中的 first_namelast_name 列添加唯一性约束的示例:

ALTER TABLE employee

ADD CONSTRAINT unique_name

UNIQUE (first_name, last_name);

五、示例代码

综合以上内容,以下是一个完整的示例代码,包括创建数据库、创建表、修改表结构和添加约束:

-- 创建数据库

CREATE DATABASE example_db;

-- 使用新创建的数据库

Use example_db

-- 创建 department 表

CREATE TABLE department (

    dept_id SERIAL PRIMARY KEY,

    dept_name VARCHAR(100) NOT NULL

);

-- 创建 employee 表

CREATE TABLE employee (

    emp_id SERIAL PRIMARY KEY,

    first_name VARCHAR(50),

    last_name VARCHAR(50),

    hire_date DATE,

    salary DECIMAL(12, 2),

    department_id INT,

    CONSTRAINT unique_name

    UNIQUE (first_name, last_name)

);

-- 修改表结构:添加列

ALTER TABLE employee

ADD COLUMN birth_date DATE;

-- 修改表结构:修改列类型

ALTER TABLE employee

ALTER COLUMN salary DECIMAL(14, 2);

-- 删除列

ALTER TABLE employee

DROP COLUMN birth_date;

六、 总结

GaussDB是华为公司自研的云化企业级分布式关系型数据库,面向金融核心交易、企业生产系统、互联网金融、ERP/CRM、办公/OA等业务场景,GaussDB具备高性能、高可用、混合负载处理、自治、全密态五大优势。

GaussDB支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务,是企业数字化转型、云化、分布式改造的最佳选择。

本文档介绍了如何在 GaussDB 中创建数据库和数据表,修改表结构,并添加各种约束。通过这些操作,可以有效地管理和维护数据库,确保数据的完整性和一致性。希望本文档对您的数据库管理工作有所帮助。

posted @   MySQL成长之路  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示