PostgreSQL 学习 02

archive time: 2023-10-24

难得有空,再学习一下 PostgreSQL

说来惭愧,最近一次勉强算是技术向的博客更新已经是 天前了, 也就是上一篇 PostgreSQL 的博客,或者说学习笔记, 这期间也发生了相当多的事情,最重大的事情莫过于我毕业了,其次就是我经历了一次就业和失业, 以及我自己买了一台 MacBook Pro M1 14 英寸,感觉应该可以说是相当充实了, 但是如何去找到下一份工作也是难点,不过还是走一步看一步了

总结近期情况

我最近系统是迁移到了 macOS 上了,目前体验感觉还好,该说不说,macOS 的系统体验确实还是很不错的, 特别是我这种有 Linux 系统使用经验的人来用,或许更加舒服了, 不过这里要强调一点,macOS 是 unix 改,而非 Linux,这个是许多人会混淆的一点

不过一些按键,比如 Optioncommand,以及 control, 对应 Windows 上大概是 altwinctrl, 实际情况下,command 在大多数时候是 ctrl 的替代品, 但是有些按键,比如 nano 的快捷键,就是用 control 而非 command

更难受的是中英文输入切换默认是 cap,也就是我们常说的 “大写键”, 而在 macOS 上想要大写,则需要同时按下 shiftcap

到目前为止,我使用了大概 4 天,还是没适应过来,估计还要更久一点了

简单复习

上一次,我们是学会了 PostgreSQL 的安装, 简单的数据库建立(createdb), 以及数据的添加(insert)和查询(select

其中这个 select 可以说是功能最丰富的语句了, 还支持各种运算,配合 where 还可以完成数据的筛选

不过我们经常说 “增删改查”,这只有 怎么可以, 所以接下来就是更新表格,以及对于表格内容的删除

更新表格

类似于查询对应 select 语句,更新表格则是 update 语句

基本语法是

update <table name> set <col1> = <val1> where <col2> = <val2>;

其中第一个 “等号” 是赋值绑定,第二个就是 where 中的等于判断

这是我们现在的表格内容

psqldev=# select * from cities;
   name    | country | population | area
-----------+---------+------------+------
 Tokyo     | Japan   |   37732000 | 8231
 Delhi     | India   |   32226000 | 2344
 Shanghai  | China   |   24073000 | 4333
 Sao Paulo | Brazil  |   23086000 | 3649
(4 行记录)

如果我们想要将 Tokyo 的人口(population)变成 , 对应的语句就是

update cities set population = 39505000 where name = 'Tokyo';

更改之后,我们的表格就变成了

psqldev=# update cities set population = 39505000 where name = 'Tokyo';
UPDATE 1
psqldev=# select * from cities;
   name    | country | population | area
-----------+---------+------------+------
 Delhi     | India   |   32226000 | 2344
 Shanghai  | China   |   24073000 | 4333
 Sao Paulo | Brazil  |   23086000 | 3649
 Tokyo     | Japan   |   39505000 | 8231
(4 行记录)

我们发现 Tokyo 的人口数据变成了我们要改的那个数据, 并且 Tokyo 还变成了表格最后一行, 一般而言,越在下面的数据就越新,也就是,新的数据会插入到表格的底下

删除数据

删除数据就比较直接了,对应的是 delete 语句, 其语法大概是

delete from <table name> where <col> = <val>;

也就是从表格中删除符合条件的行(数据),比如删除 Tokyo

delete from cities where name = 'Tokyo';

执行结果就是

psqldev=# delete from cities where name = 'Tokyo';
DELETE 1
psqldev=# select * from cities;
   name    | country | population | area
-----------+---------+------------+------
 Delhi     | India   |   32226000 | 2344
 Shanghai  | China   |   24073000 | 4333
 Sao Paulo | Brazil  |   23086000 | 3649
(3 行记录)

插入和删除可以说就是相反操作,效果如下

psqldev=# insert into cities (name, country, population, area) values ('Tokyo', 'Japan', 37732000, 8231);
INSERT 0 1
psqldev=# select * from cities;
   name    | country | population | area
-----------+---------+------------+------
 Delhi     | India   |   32226000 | 2344
 Shanghai  | China   |   24073000 | 4333
 Sao Paulo | Brazil  |   23086000 | 3649
 Tokyo     | Japan   |   37732000 | 8231
(4 行记录)

好,学到这里,最常见最重要的增删改查四步我们都算是学会了,剩下的内容就下次再写吧