GaussDB數(shù)據(jù)庫(kù)何創(chuàng)建修改數(shù)據(jù)庫(kù)和數(shù)據(jù)表的方法
一、背景
GaussDB 是一款由華為開發(fā)的企業(yè)級(jí)分布式數(shù)據(jù)庫(kù),具有高性能、高可用、高可靠性等特點(diǎn),廣泛應(yīng)用于各種業(yè)務(wù)場(chǎng)景。本指南將介紹如何在 GaussDB 中創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表,修改表結(jié)構(gòu),并添加約束。
二、創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表
1. 創(chuàng)建數(shù)據(jù)庫(kù)
在 GaussDB 中創(chuàng)建數(shù)據(jù)庫(kù)可以使用 `CREATE DATABASE` 語(yǔ)句。以下是一個(gè)創(chuàng)建名為 `example_db` 的數(shù)據(jù)庫(kù)的示例:
CREATE DATABASE example_db;
2.創(chuàng)建數(shù)據(jù)表
在創(chuàng)建數(shù)據(jù)庫(kù)之后,可以使用 `CREATE TABLE` 語(yǔ)句來(lái)創(chuàng)建數(shù)據(jù)表。以下是一個(gè)創(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í)際使用中,可能需要對(duì)現(xiàn)有的數(shù)據(jù)表進(jìn)行結(jié)構(gòu)上的修改??梢允褂?`ALTER TABLE` 語(yǔ)句來(lái)添加、修改或刪除表中的列。
1. 添加列
以下是一個(gè)向 `employee` 表中添加 `department_id` 列的示例:
ALTER TABLE employee ADD COLUMN department_id INT;
2. 修改列
以下是一個(gè)修改 `salary` 列的數(shù)據(jù)類型的示例:
ALTER TABLE employee ALTER COLUMN salary TYPE DECIMAL(12, 2);
3. 刪除列
以下是一個(gè)刪除 `birth_date` 列的示例:
ALTER TABLE employee DROP COLUMN birth_date;
四、添加約束
為了確保數(shù)據(jù)的完整性和一致性,可以在表上添加各種約束,包括主鍵、外鍵、唯一性約束等。
1. 添加主鍵約束
創(chuàng)建表時(shí)已經(jīng)添加了主鍵約束。下面是一個(gè)單獨(dú)添加主鍵約束的示例:
ALTER TABLE employee ADD CONSTRAINT pk_emp_id PRIMARY KEY (emp_id);
2. 添加外鍵約束
以下是一個(gè)為 `employee` 表中的 `department_id` 列添加外鍵約束的示例,該列引用 `department` 表中的 `dept_id` 列:
ALTER TABLE employee ADD CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES department(dept_id);
3.添加唯一性約束
以下是一個(gè)為 `employee` 表中的 `first_name` 和 `last_name` 列添加唯一性約束的示例:
ALTER TABLE employee ADD CONSTRAINT unique_name UNIQUE (first_name, last_name);
五、示例代碼
綜合以上內(nèi)容,以下是一個(gè)完整的示例代碼,包括創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表、修改表結(jié)構(gòu)和添加約束:
-- 創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE example_db;

-- 使用新創(chuàng)建的數(shù)據(jù)庫(kù)
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ù)庫(kù)何創(chuàng)建修改數(shù)據(jù)庫(kù)和數(shù)據(jù)表的方法的詳細(xì)內(nèi)容,更多關(guān)于GaussDB創(chuàng)建修改數(shù)據(jù)庫(kù)和表的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫(kù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Mssql,Access的sql經(jīng)典SQL語(yǔ)句大全
常用不常用的一些sql語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)操作不是很熟練的朋友可以查詢2012-03-03
MyBatis獲取數(shù)據(jù)庫(kù)自生成的主鍵Id詳解及實(shí)例代碼
這篇文章主要介紹了MyBatis獲取數(shù)據(jù)庫(kù)自生成的主鍵Id詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
海量數(shù)據(jù)庫(kù)的查詢優(yōu)化及分頁(yè)算法方案 2 之 改良SQL語(yǔ)句
海量數(shù)據(jù)庫(kù)的查詢優(yōu)化及分頁(yè)算法方案 2 之 改良SQL語(yǔ)句...2007-03-03
淺談一下數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展與組成
這篇文章主要介紹了淺談一下數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展與組成,數(shù)據(jù)庫(kù)系統(tǒng),指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員(DBA)構(gòu)成,本文就數(shù)據(jù)庫(kù)的發(fā)展展開詳細(xì)講解2023-07-07
mssql 區(qū)分大小寫的詳細(xì)說(shuō)明
mssql區(qū)分大小寫,沒想到mysql也區(qū)分大小寫。相關(guān)的文章稍后奉獻(xiàn)給大家2008-03-03

