PostgreSQL 学习 02
archive time: 2023-10-24
难得有空,再学习一下 PostgreSQL
说来惭愧,最近一次勉强算是技术向的博客更新已经是 天前了, 也就是上一篇 PostgreSQL 的博客,或者说学习笔记, 这期间也发生了相当多的事情,最重大的事情莫过于我毕业了,其次就是我经历了一次就业和失业, 以及我自己买了一台 MacBook Pro M1 14 英寸,感觉应该可以说是相当充实了, 但是如何去找到下一份工作也是难点,不过还是走一步看一步了
总结近期情况
我最近系统是迁移到了 macOS 上了,目前体验感觉还好,该说不说,macOS 的系统体验确实还是很不错的, 特别是我这种有 Linux 系统使用经验的人来用,或许更加舒服了, 不过这里要强调一点,macOS 是 unix 改,而非 Linux,这个是许多人会混淆的一点
不过一些按键,比如 Option,command,以及 control,
对应 Windows 上大概是 alt,win 和 ctrl,
实际情况下,command 在大多数时候是 ctrl 的替代品,
但是有些按键,比如 nano
的快捷键,就是用 control 而非 command
更难受的是中英文输入切换默认是 cap,也就是我们常说的 “大写键”, 而在 macOS 上想要大写,则需要同时按下 shift 和 cap,
到目前为止,我使用了大概 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 行记录)
好,学到这里,最常见最重要的增删改查四步我们都算是学会了,剩下的内容就下次再写吧