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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值