梧桐数据库v5版本的基本使用分享-入门篇

一、命令行登录客户端

鉴于前几篇大家的反馈,今天讲一下梧桐数据库v5版本的基本使用。

在开始使用梧桐数据库之前,你需要通过命令行客户端工具登录到数据库。打开你的终端或命令提示符,使用以下命令登录:

psql -h ipaddress -p port -U username -d databasename

这里的ipaddress 是数据库的 ip 地址, port指的是数据库开放连接的端口号,username是你的数据库用户名,databasename是你想要连接的数据库名。如果登录成功,你将进入psql命令行界面。


psql 常用的参数:

-h hostname: 指定数据库服务器的主机名或 IP 地址。

-p port: 指定数据库服务器的端口号。

-d dbname: 指定要连接的数据库名。

-U username: 指定连接数据库的用户名。

-w: 连接数据库时不提示输入密码。

-W: 强制 psql 提示输入密码。

-f filename: 执行指定的 SQL 文件,然后退出。

-l: 列出所有可用的数据库,然后退出。

-v variable: 设置 psql 的变量。

二、查看数据库中的表

在登录到数据库之后,如果你想查看当前数据库中所有的表,可以使用以下 SQL 命令:

\dt

这个命令会列出当前数据库下的所有表。


三、查看表结构

要查看某个表的结构,包括列名、数据类型等信息,可以使用以下命令:

\d+ tablename

将tablename替换为你想要查看的表名。


四、基本的 SQL 操作

1. 插入数据(增)

假设你有一个名为users的表,想要插入一条新记录,可以使用以下 SQL 语句:

INSERTINTOusers(username, email)VALUES('johndoe','john@example.com');

2. 查询数据(查)

查询users表中的所有记录:

SELECT*FROMusers;

查询特定条件的记录,例如找出所有以@example.com结尾的邮箱:

SELECT*FROMusersWHEREemailLIKE'%@example.com';

3. 更新数据(改)

更新users表中的记录,例如将johndoe的邮箱改为john.doe@newmail.com:

UPDATEusersSETemail ='john.doe@newmail.com'WHEREusername ='johndoe';

4. 删除数据(删)

从users表中删除一条记录,例如删除johndoe:

DELETEFROMusersWHEREusername ='johndoe';

五、数据的加载导出(基本操作)

1. 复制数据从表到文件(COPY命令)

梧桐数据库提供了COPY命令,允许你将表中的数据复制到服务器的文件系统中的一个CSV 文件。例如,将users表的数据复制到users.csv文件中:

COPY users TO '/path/to/users.csv'WITH(FORMATcsv, HEADERtrue);

这里的/path/to/是你的服务器上的路径,FORMAT csv指定了输出格式为 CSV ,HEADER true表示在 CSV 文件的第一行包含列名。

2. 使用 SQL 的 INSERT INTO...SELECT * FROM

如果你有一个现有的 CSV 文件或其他数据源,你可以使用SELECT语句结合INSERT INTO来加载数据。例如,将一个临时表tmp_users的数据插入到users表:

INSERTINTOusers(username, email)SELECTusername, emailFROMtmp_users;

3. 使用外部表

梧桐数据库支持外部表,允许你访问存储在其他数据库或文件中的数据,就像它们是本地表一样。

创建一个外部表,使用 CREATE EXTERNAL TABLE 命令。在这个命令里,需声明新表名称,各列名称及其数据类型,基于命令的 EXECUTE 子句或基于 URL 的 LOCATION 子句的外部数据来源,数据格式。

CREATEreadableEXTERNALTABLEext_customer(idint,nametext,sponsortext)LOCATION('gpfdist://filehost:8081/*.txt')FORMAT'TEXT'( DELIMITER'|'NULL' ')

或者创建 csv 格式的外部表

CREATEreadableEXTERNALTABLEext_customer(idint,nametext,  sponsortext)LOCATION ('gpfdist://filehost:8081/*.csv')FORMAT'CSV'( DELIMITER',');

或者使用 hdfs 的外部表

CREATEEXTERNALTABLEtbexternal (aint,bdecimal(10,2),ttext,ddate)LOCATION ('hdfs://host1:port1/tbexternaldir')FORMAT'csv'(DELIMITER'|')

更多外部表的操作会在中级篇中讲述。

4. 批量插入数据与数据加载

如果你有大量数据需要插入,使用批量插入可以提高效率。例如,使用INSERT INTO语句的批量插入:

BEGIN;INSERTINTOusers(username, email)VALUES('user1','user1@example.com'),('user2','user2@example.com'),-- 更多的值('userN','userN@example.com');COMMIT;

使用事务(通过BEGIN和COMMIT)可以确保数据的一致性。

从文件加载数据到表

可以使用COPY命令从文件系统加载 CSV 文件数据到表中。例如,将users.csv文件中的数据加载到users表:

COPY users FROM '/path/to/users.csv'WITH(FORMATcsv, HEADERtrue);

六、退出 psql

完成操作后,可以通过以下命令退出psql命令行界面:

\q

或者使用其快捷方式:

CTRL+D

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容