平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“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新建修改数据库和表的资料请关注脚本之家其它相关文章!
- GaussDB数据库事务管理及高级应用
- 面向云服务的GaussDB全密态数据库现状及问题小结
- GaussDB数据库采用COPY命令导入导出数据的场景分析
- java操作gaussDB数据库的实现示例
- gaussDB数据库常用操作命令详解