PostgreSQL修炼之道:从小工到专家. 3.3 DML语句
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;
相关文章
- 数据孤岛是业务效率的无声杀手
- 2023展望:新的一年将给大数据分析领域带来什么?
- 阿里云ADB基于Hudi构建Lakehouse的实践
- 大数据在医疗保健领域的使用案例
- 微软增加说明:KB5021751 更新扫描已经 / 即将过时 Office 过程中不会触碰用户隐私
- 2022 Gartner全球云数据库管理系统魔力象限发布 腾讯云数据库入选
- 场景化、重实操,分享一个实时数仓实践案例
- Arctic的湖仓一体践行之路
- 分布式计算MapReduce究竟是怎么一回事?
- 淘系数据模型治理优秀实践
- 大数据分析对医疗保健的影响
- 当我们说大数据Hadoop,究竟在说什么?
- 2022年及以后大数据的五个发展趋势
- 网易严选离线数仓治理实践
- 2023 年数据治理趋势
- 一份“靠谱”的年度经营计划,你学会了吗?
- 漫谈对大数据的思考
- 测试一下,读懂数据的能力,你有吗?
- 用艺术的眼光探索数据之美
- 聊聊数据分析成果如何落地