GaussDB如何创建修改数据库和数据表
创始人
2025-01-15 19:05:32
0

目录

一、背景

二、创建数据库和数据表

1. 创建数据库

2.创建数据表

三、修改表结构

1. 添加列

2. 修改列

3. 删除列

四、添加约束

1. 添加主键约束

2. 添加外键约束

3.添加唯一性约束

五、示例代码

-- 创建数据库

-- 使用新创建的数据库

-- 创建 department 表

-- 创建 employee 表

-- 修改表结构:添加列

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

-- 删除列

​编辑

六、 总结


一、背景

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;

2. 修改列

以下是一个修改 `salary` 列的数据类型的示例:

ALTER TABLE employee  ALTER COLUMN salary TYPE DECIMAL(12, 2);

3. 删除列

以下是一个删除 `birth_date` 列的示例:

ALTER TABLE employee  DROP COLUMN birth_date;

四、添加约束

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

1. 添加主键约束

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

ALTER TABLE employee  ADD CONSTRAINT pk_emp_id PRIMARY KEY (emp_id);

2. 添加外键约束

以下是一个为 `employee` 表中的 `department_id` 列添加外键约束的示例,该列引用 `department` 表中的 `dept_id` 列:

ALTER TABLE employee  ADD CONSTRAINT fk_department  FOREIGN KEY (department_id) REFERENCES department(dept_id);

3.添加唯一性约束

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

本文作者:张可可

欢迎小伙伴们交流~ 

相关内容

热门资讯

一分钟内幕!科乐吉林麻将系统发... 一分钟内幕!科乐吉林麻将系统发牌规律,福建大玩家确实真的是有挂,技巧教程(有挂ai代打);所有人都在...
一分钟揭秘!微扑克辅助软件(透... 一分钟揭秘!微扑克辅助软件(透视辅助)确实是有挂(2024已更新)(哔哩哔哩);1、用户打开应用后不...
五分钟发现!广东雀神麻雀怎么赢... 五分钟发现!广东雀神麻雀怎么赢,朋朋棋牌都是是真的有挂,高科技教程(有挂方法)1、广东雀神麻雀怎么赢...
每日必看!人皇大厅吗(透明挂)... 每日必看!人皇大厅吗(透明挂)好像存在有挂(2026已更新)(哔哩哔哩);人皇大厅吗辅助器中分为三种...
重大科普!新华棋牌有挂吗(透视... 重大科普!新华棋牌有挂吗(透视)一直是有挂(2021已更新)(哔哩哔哩)1、完成新华棋牌有挂吗的残局...
二分钟内幕!微信小程序途游辅助... 二分钟内幕!微信小程序途游辅助器,掌中乐游戏中心其实存在有挂,微扑克教程(有挂规律)二分钟内幕!微信...
科技揭秘!jj斗地主系统控牌吗... 科技揭秘!jj斗地主系统控牌吗(透视)本来真的是有挂(2025已更新)(哔哩哔哩)1、科技揭秘!jj...
1分钟普及!哈灵麻将攻略小,微... 1分钟普及!哈灵麻将攻略小,微信小程序十三张好像存在有挂,规律教程(有挂技巧)哈灵麻将攻略小是一种具...
9分钟教程!科乐麻将有挂吗,传... 9分钟教程!科乐麻将有挂吗,传送屋高防版辅助(总是存在有挂)1、完成传送屋高防版辅助透视辅助安装,帮...
每日必看教程!兴动游戏辅助器下... 每日必看教程!兴动游戏辅助器下载(辅助)真是真的有挂(2025已更新)(哔哩哔哩)1、打开软件启动之...