钧言极客站钧言极客

钧言极客

Termux玩转PostgreSQL

安装PostgreSQL

pkg install postgresql

初始化运行

# 创建目录
mkdir -p $PREFIX/var/lib/postgresql

# 初始化
initdb $PREFIX/var/lib/postgresql

请输入图片描述

运行postpresql

postgres -D $PREFIX/var/lib/postgresql/

后台运行

# 后台运行
nohup postgres -D $PREFIX/var/lib/postgresql/ &

# 查看后台任务
jobs

# 关闭后台命令
kill %<id>

请输入图片描述

进入数据库

  • 查看用户名

    whoami
  • 列出数据库

    psql -l

请输入图片描述

  • 进入命令行

    clear
  • 连接数据库

    psql -U u0_a96 -d postgres 

    请输入图片描述

创建新用户和数据库

刚刚完成安装后,会生成一个postpresql的数据库和一个与系统用户名的数据库用户,在一台Debian机器安装的 PostgreSQL 对比发现,会生成postgresql的数据库和用postgresql的数据库用户,也会生成postgresql的Linux系统用户,termux是没有的postgresql用户,是共用系统的用户名。

  • 使用 CREATE 语法来进行创建用户

进入psql命令行模式,termux比较奇葩,要连默认接数据库才可以进入psql操作,可能我还没有知道更好的方法

psql -U u0_a96 -d postgres
  • 进入后,先创建一个数据库用户并指定一个密码

这里创建一个username的用户

create user username with password '*******';

这里注意,密码需要引号包裹,一定要以英文分号结尾不然会报错。

  • 创建一个数据库

这里创建一个pgdata的数据库

create database pgdata owner username;
  • 将数据库的全部权限赋予某个用户

这里将pgdata的所以权全部赋予给useename

grant all privileges on database pgdata to username;

创建用户和数据库

  • 查看刚刚创建用户和数据库

同样在控制台输入,查看是否存在数据库

查看用户

\du

查看数据库

\l

用户与数据库

  • 测试连接

以刚刚创建数据为例,使用username连接pgdata数据库

psql -U username -d pgdata -h 127.0.0.1

测试连接

psql常用命令

\password : 设置密码
\q : 退出
\h : 查看SQL命令解释,如\h select
\? : 查看psql命令列表
\l : 列出所以数据库
\c [table_name] : 连接其他数据库
\d : 列出当前数据库所有表格
\d [table_name] : 列出某一张表格
\du : 列出所有用户
\e : 打开文本编辑器
\connifo : 列出当前数据库和连接信息
select now(); : 查看时间
select version(); : 查看版本

数据库操作

数据库基本操作,就是使用一般的SQL语言。

# 创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

# 插入数据
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');

# 选择记录
SELECT * FROM user_tbl;

# 更新数据
UPDATE user_tbl set name = '李四' WHERE name = '张三';

# 删除记录
DELETE FROM user_tbl WHERE name = '李四' ;

# 添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);

# 更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;

# 更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;

# 删除栏位
ALTER TABLE user_tbl DROP COLUMN email;

# 表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;

# 删除表格
DROP TABLE IF EXISTS backup_tbl;

部分内容摘自:阮一峰的网络日志-PostgreSQL新手入门

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Termux玩转PostgreSQL》
文章链接:https://www.jinjun.top/412.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论