认证培训专区
学习笔记
文章
精选
置顶
初学GBase 8c数据库,如何通俗易懂的理解数据库对象及对DDL和DML语言的使用进行对比
发表于2026-06-12 16:04:5040次浏览8个评论
一、数据库对象理解
初学GBase 8c数据库,数据库中有许多对象,比如:User、Database、Schema、Table、Index、View、Function、Sequence,除了Schema外,其他对象都比较好理解。在GBase中我理解的是一个组,起隔离作用,类似于操作系统中的文件夹概念(有不对的地方请指正),其他对象理解如下:
| 对象关键字 | 对象名称 | 对象理解 |
|---|---|---|
| User | 用户 | 管理数据库操作对象,比如登录、授权、备份等 |
| Database | 数据库 | 存储的大仓库 |
| Schema | 模式 | 一个组,隔离表,类似文件夹 |
| Table | 数据表 | 就像一个EXCEL表格吧 |
| Index | 索引 | 一本书的目录 |
| View | 视图 | 一次可以透视多个表的工具 |
| Function | 函数 | 定义一组命令一起执行 |
| Sequence | 序列 | 一段等差数列,适合做主键那种 |
二、数据库DDL语言
数据定义语言,是对数据库相关对象的定义,总的来说分三个大类:增、删、改,具体如下:
1、增(CREATE)
CREATE TABLESPACE ds_location1 OWNER use1 RELATIVE LOCATION 'tablespace/tablespace1'; #创建表空间,并指定用户
CREATE database mydb1; #建库
CREATE SCHEMA sch_1; #建模式
CREATE user test_1 with password 'GBase!qaz'
valid begin '2021-12-01 07:00:00'
valid until '2022-12-01 07:00:00'; #建用户
CREATE TABLE IF NOT EXISTS tab_1
(W_WAREHOUSE_SK INTEGER,
W_WAREHOUSE_ID CHAR(16),
W_GMT_OFFSET DECIMAL(5,2) ); #建表
CREATE table dist (col1 int, col2 int) DISTRIBUTE BY HASH(col1); #建表
CREATE table rep (col1 int, col2 int) DISTRIBUTE BY REPLICATION; #建表
CREATE VIEW v1 AS SELECT * FROM tab_1; #建视图
CREATE TABLE SEQ_T1
( id serial,
name text); #建序列
CREATE OR REPLACE SYNONYM v1 FOR ot.v_t1; #建同义词
2、改(ALTER)
ALTER TABLESPACE ds_location1 RENAME TO ds_location2; #改表空间
ALTER database mydb2 rename to mydb4; #改数据库库名
ALTER user test_1 with
valid begin '2022-12-01 07:00:00'
valid until '2023-12-01 07:00:00'; #该用户有效期
ALTER TABLE tab_1 RENAME TO tab_2; #改表名
ALTER VIEW v1 RENAME TO v2; #改视图名
3、删(DROP)
DROP TABLESPACE ds_location2; #删表空间
DROP ROLE use1 ; #删用户
DROP database mydb1; #删库
DROP SCHEMA sch_1 CASCADE; #删模式
DROP user test_1 CASCADE; #删用户,级联
DROP TABLE tab_2; #删表
DROP VIEW v2; #删视图
DROP sequence if exists seq1 CASCADE; #删序列
DROP SYNONYM v1 CASCADE; #删同义词总的来说,DDL语言是对数据库中对象进行增删改操作。
三、数据库DML语言
数据操纵语言,是对数据库记录的操作,总的来说常用的几个大类:增、删、改、查等,具体如下:
1、增(INSERT)
INSERT INTO bit_type_t1 VALUES(1, B'101', B'00'); #增加一条记录2、删(DELETE)
DELETE FROM bit_type_t1 WHERE id = 1001; #删除一条记录3、改(UPDATE)
UPDATE int_type_t1 SET name = '张三', department = '技术部'
WHERE id = 1001; #更改一条记录
4、查(SELECT)
SELECT * FROM int_type_t1 where id != 1002;总的来说,DML是对数据库记录的增、删、改、查等操作。
四、总结(对象、DDL、DML)
数据库中有N多对象,DDL定义了数据库对象结构,DML操作了数据库中数据库记录,对数据库相关对象和操作理解比较浅显,欢迎大神来批评指正。
评论
登录后才可以发表评论
GBase用户51966发表于 1个月前
写得很好,学习了!
GBase用户50900发表于 1个月前
非常实用的内容,收藏了。
GBase用户51510发表于 1个月前
好文章,支持一下!
一个老汉发表于 1个月前
非常实用的内容,收藏了。
GBase用户51511发表于 1个月前
好文章,支持一下!
塔山发表于 1个月前
写得真不错,赞一个!
佛洛伊得发表于 1个月前
感谢分享,非常有帮助。
gbase0001发表于 1个月前
总结明了,适合新手学习
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526