PostgreSQL修炼之道:从小工到专家. 3.3 DML语句

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介:

3.3 DML语句

DML用于插入、更新和删除数据。主要包含INSERT语句、UPDATE语句和DELETE语句。

3.3.1 插入语句

可以使用下面的语句往前面创建的学生表(student)中插入数据:

INSERT INTO student VALUES(1, '张三', 14);

由此可以看出,INSERT语句的语法为:以“INSERT INTO”关键字为首,后面跟表名,然后再跟“VALUES”关键字,最后是由小括号包围起来的以逗号分隔的各列数据,数据的顺序与表定义时表列的顺序是一样的。当然也可以在表名后指定要插入数据列的顺序,如下所示:

INSERT INTO student(no, age, student_name)  VALUES(2, 13, '李四');

在插入数据时,也可以指定某些列不插入数据,这时这些列的数据会被置为空,如下:

INSERT INTO student(no, student_name)  VALUES(2, '王二');

如果在psql中执行了下面的语句,使用SELECT语句就可以查询出数据,查询的语句为:

SELECT * FROM student;

SELECT语句的具体用法会在后面的章节中介绍,现在只需要知道这么用就可以了。

我们查看到的数据如下:

osdba=# select * from student;

 no | student_name | age

----+--------------+-----

  1 | 张三         |  14

  2 | 李四         |  13

  3 | 王二         |   

(3 rows)

从上面可以看出,在插入数据时,没有提供的列数据会被置为NULL。

3.3.2 更新语句

假设要把student表中所有学生的年龄(age)更新为“15”,则更新语句如下:

UPDATE student SET age = 15;

从上面的语句可以看出,更新语句以“UPDATE”   关键字开始,后面跟表名,然后是“SET”关键字,表示要设置的数据,再后面就是要设置的数据的表达式“age = 15”,设置数据的表达式也很简单,就是“列名=数据”的格式。

实际执行的效果如下:

osdba=# UPDATE student SET age = 15;

UPDATE 3

osdba=# select * from student;

 no | student_name | age

----+--------------+-----

  1 | 张三          |  15

  2 | 李四          |  15

  3 | 王二          |  15

(3 rows)

在更新数据时,还可以指定过滤表达式“WHERE”,从而指定更新哪条数据或哪些数据,比如,要更新学号(no)为3的学生年龄为14岁,则使用下面的语句:

UPDATE student SET age =14 WHERE no = 3;

在SET子句中,还可以同时更新多个列的值,如下所示:

UPDATE student SET age =13, student_name='王明充' WHERE no = 3;

3.3.3 删除语句

如果想删除学号(no)为3的记录,语句如下:

DELETE FROM student WHERE no = 3;

由此可见删除语句比较简单,以“DELETE FROM”开始,后面跟表名,然后加“WHERE”子句用于指定要删除的记录。

当然也可以没有“WHERE”子句,这表明要删除整个表的数据,删除表student中所有数据的语句如下:

DELETE FROM student;

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
SQL 关系型数据库 数据库
PostgreSQL技术大讲堂 - 第16讲:元组(行)结构与dml操作
从零开始学PostgreSQL,第16讲:元组(行)结构与dml操作
193 0
|
SQL 关系型数据库 RDS
为什么同样的Sql语句在SqlServer RDS 查询得到的和自己本机SqlServer 查询的不一样呢?
为什么同样的Sql语句在SqlServer RDS 查询得到的和自己本机SqlServer 查询的不一样呢?
160 0
为什么同样的Sql语句在SqlServer RDS 查询得到的和自己本机SqlServer 查询的不一样呢?
|
SQL 关系型数据库 开发者
本地执行 RDS SQL 语句| 学习笔记
快速学习本地执行 RDS SQL 语句
165 0
本地执行 RDS SQL 语句| 学习笔记
|
关系型数据库 PostgreSQL
PostgreSQL INSERT INTO 语句
PostgreSQL INSERT INTO 语句
360 0
|
SQL JavaScript 关系型数据库
iot studio业务逻辑通过Nodejs脚本实现较为复杂的SQL语句操作RDS数据库
业务逻辑提供了云数据库MySQL节点,使用云数据库MySQL节点可将数据存入云数据库RDS MySQL版数据表中,但仅支持对数据表中的数据进行简单的增、删、改、查操作。可以通过Nodejs脚本实现连接数据库,以SQL语句的形式操作数据库。
365 1
iot studio业务逻辑通过Nodejs脚本实现较为复杂的SQL语句操作RDS数据库
|
SQL 关系型数据库 MySQL
30个实用SQL语句,玩转PostgreSQL
PostgreSQL是一款功能非常强大的开源关系型数据库,本文主要整理总结了30个实用SQL,方便大家可以高效利用PostgreSQL。
30个实用SQL语句,玩转PostgreSQL
|
SQL 存储 缓存
Citus 分布式 PostgreSQL 集群 - SQL Reference(摄取、修改数据 DML)
Citus 分布式 PostgreSQL 集群 - SQL Reference(摄取、修改数据 DML)
144 0
|
SQL 关系型数据库 开发者
本地执行 RDS SQL 语句| 学习笔记
快速学习本地执行 RDS SQL 语句。
232 0
本地执行 RDS SQL 语句| 学习笔记
|
SQL 关系型数据库 MySQL
新功能初探 | RDS MySQL 8.0 支持 DML 语句 returning
MySQL 对于 statement 执行结果报文通常分为两类 Resultset 和 OK/ERR,针对 DML 语句则返回OK/ERR 报文,其中包括几个影响记录,扫描记录等属性。
7755 0