GaussDB數(shù)據(jù)庫何創(chuàng)建修改數(shù)據(jù)庫和數(shù)據(jù)表的方法
一、背景
GaussDB 是一款由華為開發(fā)的企業(yè)級分布式數(shù)據(jù)庫,具有高性能、高可用、高可靠性等特點(diǎn),廣泛應(yīng)用于各種業(yè)務(wù)場景。本指南將介紹如何在 GaussDB 中創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,修改表結(jié)構(gòu),并添加約束。
二、創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表
1. 創(chuàng)建數(shù)據(jù)庫
在 GaussDB 中創(chuàng)建數(shù)據(jù)庫可以使用 `CREATE DATABASE` 語句。以下是一個創(chuàng)建名為 `example_db` 的數(shù)據(jù)庫的示例:
CREATE DATABASE example_db;
2.創(chuàng)建數(shù)據(jù)表
在創(chuàng)建數(shù)據(jù)庫之后,可以使用 `CREATE TABLE` 語句來創(chuàng)建數(shù)據(jù)表。以下是一個創(chuàng)建名為 `employee` 的數(shù)據(jù)表的示例,該表包含員工的基本信息:
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) );
三、修改表結(jié)構(gòu)
在實(shí)際使用中,可能需要對現(xiàn)有的數(shù)據(jù)表進(jìn)行結(jié)構(gòu)上的修改??梢允褂?`ALTER TABLE` 語句來添加、修改或刪除表中的列。
1. 添加列
以下是一個向 `employee` 表中添加 `department_id` 列的示例:
ALTER TABLE employee ADD COLUMN department_id INT;
2. 修改列
以下是一個修改 `salary` 列的數(shù)據(jù)類型的示例:
ALTER TABLE employee ALTER COLUMN salary TYPE DECIMAL(12, 2);
3. 刪除列
以下是一個刪除 `birth_date` 列的示例:
ALTER TABLE employee DROP COLUMN birth_date;
四、添加約束
為了確保數(shù)據(jù)的完整性和一致性,可以在表上添加各種約束,包括主鍵、外鍵、唯一性約束等。
1. 添加主鍵約束
創(chuàng)建表時已經(jīng)添加了主鍵約束。下面是一個單獨(dú)添加主鍵約束的示例:
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);
五、示例代碼
綜合以上內(nèi)容,以下是一個完整的示例代碼,包括創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、修改表結(jié)構(gòu)和添加約束:
-- 創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE example_db;
-- 使用新創(chuàng)建的數(shù)據(jù)庫
Use example_db
-- 創(chuàng)建 department 表
CREATE TABLE department ( dept_id SERIAL PRIMARY KEY, dept_name VARCHAR(100) NOT NULL );
-- 創(chuàng)建 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) );
-- 修改表結(jié)構(gòu):添加列
ALTER TABLE employee ADD COLUMN birth_date DATE;
-- 修改表結(jié)構(gòu):修改列類型
ALTER TABLE employee ALTER COLUMN salary DECIMAL(14, 2);
-- 刪除列
ALTER TABLE employee DROP COLUMN birth_date;
六、 總結(jié)
以上就是GaussDB數(shù)據(jù)庫何創(chuàng)建修改數(shù)據(jù)庫和數(shù)據(jù)表的方法的詳細(xì)內(nèi)容,更多關(guān)于GaussDB創(chuàng)建修改數(shù)據(jù)庫和表的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Navicat Premium 15 永久破解激活工具及安裝教程(親測可用)
這篇文章主要介紹了Navicat Premium 15 永久破解激活教程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Sql Server下數(shù)據(jù)庫鏈接的使用方法
Sql Server下數(shù)據(jù)庫鏈接的使用方法...2006-12-12sql連接查詢語句中on、where篩選的區(qū)別總結(jié)
接觸Sql語句時間挺長時間了,聽他人說過sql語句的連接查詢,但一直沒有認(rèn)真研究和使用過!下面這篇文章主要給大家介紹了關(guān)于sql連接查詢語句中on、where篩選兩者之間區(qū)別的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。2017-07-07ms SQL server數(shù)據(jù)庫備份、壓縮與SQL數(shù)據(jù)庫數(shù)據(jù)處理的方法
ms SQL server數(shù)據(jù)庫備份、壓縮與SQL數(shù)據(jù)庫數(shù)據(jù)處理的方法...2007-07-07使用Navicat導(dǎo)入和導(dǎo)出sql語句的圖文教程
Navicat是MySQL非常好用的可視化管理工具,功能非常強(qiáng)大,能滿足我們?nèi)粘?shù)據(jù)庫開發(fā)的所有需求,下面這篇文章主要給大家介紹了關(guān)于使用Navicat導(dǎo)入和導(dǎo)出sql語句的相關(guān)資料,需要的朋友可以參考下2023-03-03