GaussDB数据库何创建修改数据库和数据表的方法

 更新时间:2024年06月04日 09:17:49   作者:Gauss松鼠会  
GaussDB 是一款由华为开发的企业级分布式数据库,具有高性能、高可用、高可靠性等特点,广泛应用于各种业务场景,本指南将介绍如何在 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;

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数据库何创建修改数据库和数据表的方法的详细内容,更多关于GaussDB创建修改数据库和表的资料请关注脚本之家其它相关文章!

相关文章

  • Lakehouse数据湖并发控制陷阱分析

    Lakehouse数据湖并发控制陷阱分析

    这篇文章主要为大家介绍了Lakehouse数据湖并发控制陷阱分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • 详解SQLite中的数据类型

    详解SQLite中的数据类型

    这篇文章主要介绍了详解SQLite中的数据类型,针对版本为SQLite3,讲解非常详细,超推荐!需要的朋友可以参考下
    2015-07-07
  • 浅谈数据库缓存最终一致性的四种方案

    浅谈数据库缓存最终一致性的四种方案

    缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景,缓存一致性的保证,更是在面试中被反复问到。下面我们就一起来了解一下
    2021-04-04
  • Redis和Memcache的区别总结

    Redis和Memcache的区别总结

    这篇文章主要介绍了Redis和Memcache的区别,用三个总结来说明Redis和Memcache的区别,需要的朋友可以参考下
    2014-05-05
  • 比较SQL Server与Oracle、DB2数据库的一些知识

    比较SQL Server与Oracle、DB2数据库的一些知识

    本文比较大型数据库SQL Server与Oracle、DB2的一些不同应用之处。对于以后开发选择什么样的数据库。
    2010-03-03
  • sql 左连接和右连接的使用技巧(left join and right join)

    sql 左连接和右连接的使用技巧(left join and right join)

    今天做项目,发现左右连接是不一样的。主要是说明了区别,是不是必须用左连接或右连接,大家可以根据需要选择。
    2010-05-05
  • Doris Join 优化原理文档详解

    Doris Join 优化原理文档详解

    这篇文章主要为大家介绍了Doris Join 优化原理文档详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 在Windows下自动备份PostgreSQL的教程

    在Windows下自动备份PostgreSQL的教程

    这篇文章主要介绍了在Windows下自动备份PostgreSQL的教程,主要通过编写一个简单的批处理脚本,需要的朋友可以参考下
    2015-04-04
  • 简单聊一聊SQL注入及防止SQL注入

    简单聊一聊SQL注入及防止SQL注入

    众所周知SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,下面这篇文章主要给大家介绍了关于SQL注入及防止SQL注入的相关资料,需要的朋友可以参考下
    2022-03-03
  • 数据库基本概念面试必问

    数据库基本概念面试必问

    这篇文章主要介绍了数据库基本概念面试必问的相关资料,需要的朋友可以参考下
    2016-03-03

最新评论