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

忿忿的泥巴坨  金牌会员 | 2024-6-19 12:24:19 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 799|帖子 799|积分 2397

目次

一、配景
二、创建数据库和数据表
1. 创建数据库
2.创建数据表
三、修改表结构
1. 添加列
2. 修改列
3. 删除列
四、添加束缚
1. 添加主键束缚
2. 添加外键束缚
3.添加唯一性束缚
五、示例代码
-- 创建数据库
-- 使用新创建的数据库
-- 创建 department 表
-- 创建 employee 表
-- 修改表结构:添加列
-- 修改表结构:修改列类型
-- 删除列
​编辑
六、 总结


一、配景

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

1. 创建数据库

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

在创建数据库之后,可以使用 `CREATE TABLE` 语句来创建数据表。以下是一个创建名为 `employee` 的数据表的示例,该表包罗员工的基本信息:
  1. CREATE TABLE employee (
  2.     emp_id SERIAL PRIMARY KEY,
  3.     first_name VARCHAR(50),
  4.     last_name VARCHAR(50),
  5.     birth_date DATE,
  6.     hire_date DATE,
  7.     salary NUMERIC(10, 2)
  8. );
复制代码
三、修改表结构

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

以下是一个向 `employee` 表中添加 `department_id` 列的示例:
  1. ALTER TABLE employee
  2. ADD COLUMN department_id INT;
复制代码
2. 修改列

以下是一个修改 `salary` 列的数据类型的示例:
  1. ALTER TABLE employee
  2. ALTER COLUMN salary TYPE DECIMAL(12, 2);
复制代码
3. 删除列

以下是一个删除 `birth_date` 列的示例:
  1. ALTER TABLE employee
  2. DROP COLUMN birth_date;
复制代码
四、添加束缚

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

创建表时已经添加了主键束缚。下面是一个单独添加主键束缚的示例:
  1. ALTER TABLE employee
  2. ADD CONSTRAINT pk_emp_id PRIMARY KEY (emp_id);
复制代码
2. 添加外键束缚

以下是一个为 `employee` 表中的 `department_id` 列添加外键束缚的示例,该列引用 `department` 表中的 `dept_id` 列:
  1. ALTER TABLE employee
  2. ADD CONSTRAINT fk_department
  3. FOREIGN KEY (department_id) REFERENCES department(dept_id);
复制代码
3.添加唯一性束缚

以下是一个为 `employee` 表中的 `first_name` 和 `last_name` 列添加唯一性束缚的示例:
  1. ALTER TABLE employee
  2. ADD CONSTRAINT unique_name
  3. UNIQUE (first_name, last_name);
复制代码
五、示例代码

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

  1. CREATE DATABASE example_db;
复制代码

-- 使用新创建的数据库

Use example_db

-- 创建 department 表

  1. CREATE TABLE department (
  2.     dept_id SERIAL PRIMARY KEY,
  3.     dept_name VARCHAR(100) NOT NULL
  4. );
复制代码

-- 创建 employee 表

  1. CREATE TABLE employee (
  2.     emp_id SERIAL PRIMARY KEY,
  3.     first_name VARCHAR(50),
  4.     last_name VARCHAR(50),
  5.     hire_date DATE,
  6.     salary DECIMAL(12, 2),
  7.     department_id INT,
  8.     CONSTRAINT unique_name
  9.     UNIQUE (first_name, last_name)
  10. );
复制代码

-- 修改表结构:添加列

  1. ALTER TABLE employee
  2. ADD COLUMN birth_date DATE;
复制代码

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

  1. ALTER TABLE employee
  2. ALTER COLUMN salary DECIMAL(14, 2);
复制代码

-- 删除列

  1. ALTER TABLE employee
  2. DROP COLUMN birth_date;
复制代码


六、 总结

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

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


本文档先容了如何在 GaussDB 中创建数据库和数据表,修改表结构,并添加各种束缚。通过这些利用,可以有用地管理和维护数据库,确保数据的完整性和同等性。希望本文档对您的数据库管理工作有所帮助。

本文作者:张可可
欢迎小伙伴们交流~ 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表