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

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

时间:2025-01-15 15:58:17浏览次数:1  
标签:name GaussDB ALTER 数据表 id employee TABLE 数据库

一、背景

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 中创建数据库和数据表,修改表结构,并添加各种约束。通过这些操作,可以有效地管理和维护数据库,确保数据的完整性和一致性。希望本文档对您的数据库管理工作有所帮助。

标签:name,GaussDB,ALTER,数据表,id,employee,TABLE,数据库
From: https://www.cnblogs.com/xiaoxu0211/p/18673201

相关文章

  • 【mysql数据库链接死锁怎么解决】
    mysql数据库链接死锁怎么解决在MySQL数据库中,死锁是指两个或多个事务相互等待对方释放资源,从而导致这些事务都无法继续执行的情况。解决MySQL中的死锁问题通常包括预防和处理两方面:预防死锁优化事务:尽量保持事务简短,减少持有锁的时间。避免长时间运行的事务。访问资源的......
  • GaussDB企业级AI-Native分布式数据库
    华为GaussDB是一个企业级AI-Native分布式数据库。GaussDB采用MPP(MassiveParallelProcessing)架构,支持行存储与列存储,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力。华为Gauss数据库是全球首款AI-Native数据库,能够同时支持X86、ARM、GPU、NPU等异构计算。数......
  • GaussDB技术解读——GaussDB架构介绍之数据持久化存取层(DataNode)关键技术方案
    数据持久化存取层(DataNode)关键技术方案Datanode节点主要负责数据的持久化和快速写入、读取。数据持久化采用物理日志wal,事务提交wal刷盘,对外提供逻辑日志功能,反解析物理日志为SQL逻辑日志。图1datanode数据持久化Astore:存储格式为追加写优化设计,其多版本元组采用新、老版......
  • GaussDB技术解读——GaussDB架构介绍之全局事务管理层(GTM)关键技术方案
    GTM仅处理全局时间戳请求,64位CSN递增,几乎都是CPU++和消息收发操作。不是每次都写ETCD,而是采用定期持久化到ETCD里,每次写ETCD的CSN要加上一个backup_step(100w),一旦GTM故障,CSN从ETCD读取出来的值保证单调递增。当前GTM只完成CSN++,预估可以支持200M/s请求。GTM处理......
  • GaussDB技术解读——GaussDB架构介绍之集群管理层(CM)关键技术方案
    GaussDBKernelV5集群管理层关键模块如下。图4集群管理层组件设计图CM组件提供了四种服务CMAgent,CMServer,OMMonitor,cm_ctl,与各类实例服务组件(CN,DN,GTM等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行集群的启动、停止、状态查询、主备倒换、备机重......
  • GaussDB技术解读——GaussDB架构介绍之OM运维管理关键技术方案
    ​GaussDBKernelV5OM运维管理关键模块如下。OM运维主要功能有:安装升级节点替换扩容、缩容自动告警巡检备份恢复、容灾日志分析系统在华为云的部署模式下,OM相关组件部署示意图如下:图7华为云OM运维管理用户登录华为云Console,访问GaussDBKernelV5的管控页面,输入......
  • GaussDB 24
    GaussDB介绍华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定......
  • 深入理解第一范式(1NF):数据库设计中的基础与实践
    title:深入理解第一范式(1NF):数据库设计中的基础与实践date:2025/1/15updated:2025/1/15author:cmdragonexcerpt:在关系型数据库设计中,规范化是确保数据一致性和减少冗余的重要步骤。第一范式(1NF)作为规范化的基础,要求每个表都应遵循数据的原子性及唯一性原则。通过将数......
  • 【转】[Java] 入参、出参、数据库实体等命名规则
    转自:kimi.ai在Java项目中,为了提高代码的可读性和可维护性,通常会对入参、出参和数据库实体等使用特定的后缀。以下是一些常见的命名规则和最佳实践:1.入参(RequestDTOs)后缀:Request 或 Dto描述:入参通常是指从客户端接收的数据传输对象(DTOs),用于封装请求参数。示例:U......
  • 代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析
    知识点1、PHP审计-原生态开发-SQL注入&数据库语句监控2、PHP审计-原生态开发-SQL注入&正则匹配搜索3、PHP审计-原生态开发-SQL注入&功能追踪代码审计分类:1、原生态开发-代码审计源码案例2、框架类开发-代码审计源码案例3、组件类开发-代码审计源码案例4、前端类开发-代码......