暂无图片
暂无图片
20
暂无图片
暂无图片
暂无图片

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

原创 江苏-梧桐 2024-09-26
275

一、命令行登录客户端

鉴于前几篇大家的反馈,今天讲一下梧桐数据库v5版本的基本使用。
在开始使用梧桐数据库之前,你需要通过命令行客户端工具登录到数据库。打开你的终端或命令提示符,使用以下命令登录:

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

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

梧桐数据库v5版本的基本使用入门篇图1.png

psql 常用的参数:

  • -h hostname: 指定数据库服务器的主机名或 IP 地址。
  • -p port: 指定数据库服务器的端口号。
  • -d dbname: 指定要连接的数据库名。
  • -U username: 指定连接数据库的用户名。
  • -w: 连接数据库时不提示输入密码。
  • -W: 强制 psql 提示输入密码。
  • -f filename: 执行指定的 SQL 文件,然后退出。
  • -l: 列出所有可用的数据库,然后退出。
  • -v variable: 设置 psql 的变量。

二、查看数据库中的表

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

\dt

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

梧桐数据库v5版本的基本使用入门篇图2.png

三、查看表结构

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

\d+ tablename

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

梧桐数据库v5版本的基本使用入门篇图3.png

四、基本的 SQL 操作

1. 插入数据(增)

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

INSERT INTO users (username, email) VALUES ('johndoe', 'john@example.com');

2. 查询数据(查)

查询users表中的所有记录:

SELECT * FROM users;

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

SELECT * FROM users WHERE email LIKE '%@example.com';

3. 更新数据(改)

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

UPDATE users SET email = 'john.doe@newmail.com' WHERE username = 'johndoe';

4. 删除数据(删)

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

DELETE FROM users WHERE username = 'johndoe';

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

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

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

COPY users TO '/path/to/users.csv' WITH (FORMAT csv, HEADER true);

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

2. 使用 SQLINSERT INTO...SELECT * FROM

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

INSERT INTO users (username, email) SELECT username, email FROM tmp_users;

3. 使用外部表

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

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

CREATE readable EXTERNAL TABLE ext_customer (id int, name text, sponsor text) LOCATION('gpfdist://filehost:8081/*.txt') FORMAT 'TEXT' ( DELIMITER '|' NULL ' ')

或者创建 csv 格式的外部表

CREATE readable EXTERNAL TABLE ext_customer (id int, name text, sponsor text) LOCATION ( 'gpfdist://filehost:8081/*.csv' ) FORMAT 'CSV' ( DELIMITER ',' );

或者使用 hdfs 的外部表

CREATE EXTERNAL TABLE tbexternal ( a int, b decimal(10,2), t text, d date) LOCATION ('hdfs://host1:port1/tbexternaldir') FORMAT 'csv' (DELIMITER '|')

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

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

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

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

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

从文件加载数据到表

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

COPY users FROM '/path/to/users.csv' WITH (FORMAT csv, HEADER true);

六、退出 psql

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

\q

或者使用其快捷方式:

CTRL+D
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论