GaussDB语法

发布时间 2023-03-22 21:14:19作者: 最萌小胡胡

Sqlserver和Gauss语法区别:

 1、创建数据库用户。

CREATE USER joe WITH PASSWORD 'password';

2创建数据库。

CREATE DATABASE mytpcds;

使用以下命令为数据库重新命名:

ALTER DATABASE db_tpcds RENAME TO human_tpcds;

使用\q 命令退出gaussdb数据库。

使用\l 命令查看数据库系统的数据库列表。

“show server_encoding”命令可以查看当前数据库存储编码。

3创建schema。

schema又称作模式。通过schema,允许多个用户使用同一数据库而不相互干扰。

CREATE SCHEMA myschema;

4创建

在创建对象时指定由“模式名称+对象名称”组成的完整对象名称,中间由符号“.”隔开。

CREATE TABLE myschema.mytable (firstcol int);
如果在创建对象时不指定schema,则会将对象创建在当前的schema下。查询当前schema的办法为:

show search_path;  

5、存储类型

存储类型

适用场景

行存

  • 点查询(返回记录少,基于索引的简单查询)。
  • 增、删、改操作较多的场景。

列存

  • 统计分析类查询 (关联、分组操作较多的场景)。
  • 即席查询(查询条件不确定,行存表扫描难以使用索引)。

 行存表

CREATE TABLE默认创建表的类型。数据按行进行存储,即一行数据是连续存储。适用于对数据需要经常增删改的场景。

customer_t1

(

state_ID   CHAR(2),  

state_NAME VARCHAR2(40),  

area_ID    NUMBER

);

列存表

数据按列进行存储,即一列所有数据是连续存储的。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询。

CREATE TABLE customer_t2

(  

state_ID   CHAR(2),  

state_NAME VARCHAR2(40),  

area_ID    NUMBER

)

WITH (ORIENTATION = COLUMN);

6从指定表插入数据到当前表
INSERT INTO customer_t2 SELECT * FROM customer_t1;