PostgreSQL删除数据

到目前为止我们已经解释了如何向表中增加数据以及如何改变数据。剩下的是讨论如何删除不再需要的数据。和前面增加数据一样,删除数据也必须是从表中整行整行地删除。在上一节里我们提到了 SQL没有提供直接指定某一行的方法。因此,删除行只能是通过声明被删除行必须匹配的条件进行。如果你在表上有一个主键,那么你可以声明准确的行。当然,你也可以删除匹配条件的一组行,或者一次删除表中的所有行。

我们使用DELETE命令删除行。它的语法和UPDATE 命令非常类似。用:

DELETE FROM Sites WHERE name = ‘www.infocool.net‘;

如果你只是写:

DELETE FROM Sites;

那么表中所有行都会被删除!程序员一定要注意。

时间: 2024-11-06 18:54:05

PostgreSQL删除数据的相关文章

数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)

关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库中,外键就是用来表达表与表之间的关系.联系,通过主外键关系,建立实体之间的联系. 表之间的三种基本关系模型: ① 一对多关系: 一条主表记录对应多条从表记录,一条从表记录对应一条主表记录. ② 一对一关系: 一条主表记录对应一条从表记录,一条从表记录对应一条主表记录. ③ 多对多关系: 一条主表记录

ODI中删除数据的处理

一.前提知识:数据从源数据库向数据仓库抽取时,一般采用以下几种方式: 全抽取模式如果表的数据量较小,则可以采取全表抽取方式,以TRUNCATE/INSERT方式进行数据抽取. 基于时间戳的抽取模式如果源数据表是不可更新的数据(如大多数事务处理数据)或者是不可删除数据(只能失效历史记录的情况),则根据变更时间戳,抽取最新变更的数据进行同步. 日志分析如果没有更新时间戳,或者源数据存在删除的情况,则可以进行日志分析,来执行最新数据变更的同步. 说明:时间戳的方式如果要处理删除数据的情况,需要在源表创

mysql优化, 删除数据后物理空间未释放(转载)

OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR . BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化.这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 .OPTIMIZE TABLE

第七章 插入、更新与删除数据

插入数据 1.为表左右字段插入数据 insert into 表名 values (值1,值2,……) 或 insert into 表名 (属性1,属性2,……) values (值1,值2……) 2.为指定字段插入数据 insert into 表名 (属性1,属性2,……) values (值1,值2……) 3.同时插入多条记录 insert into 表名 [(属性列表)] values(取值列表),(取值列表2),……: 4.将查询结果插入到表中 insert into 表名1 (属性列表1

解决sqlite删除数据后,文件大小不变问题(VACUUM)

删除表格的全部数据: DELETE FROM [Name] 当在sqlite中删除了大量数据后,数据库文件的大小还是那样,没有变.原因是:从Sqlite删除数据后,未使用的磁盘空间被添加到一个内在的”空闲列表”中用于存储你下次插入的数据.磁盘空间并没有丢失.但是也不向操作系统返回磁盘空间. 解决方法有以下两种:1,在数据删除后,手动执行SQL"VACUUM"命令,执行方式很简单.推荐使用.2,在数据库文件建成中,将auto_vacuum设置成“1”.但是第二个方法同样有缺点,只会从数据

【原创】MySQL和PostgreSQL 导入数据对比

在虚拟机上测评了下MySQL 和 PostgreSQL 的各种LOAD FILE方式以及时间. 因为是虚拟机上的测评,所以时间只做参考,不要太较真, 看看就好了. MySQL 工具: 1. 自带mysqlimport工具. 2. 命令行 load data infile ... 3. 利用mysql-connector-python Driver来写的脚本. PostgreSQL 工具: 1. pgloader 第三方工具. 2. 命令行 copy ... from ... 3. 利用psyco

ajax批量删除数据

做网页经常要选择批量删除数据,基本都是异步请求批量删除,用到更多的是ajax批量删除.思路是前端ajax请求,传入ids(要删除对象id的字符串数组)到后台. 后台再遍历id,调用删除接口,删除数据.返回json给前台. 代码例子如下: 1 function deleteSaleChance() { 2 var selectedRows = $("#dg").datagrid("getSelections"); 3 if(selectedRows.length==0

向后端请求数据 以及像后端发送数据要求(删除数据和添加数据)

删除数据和添加数据只能后端操作 删除数据和添加数据都要用到的html(一)部分 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="../css/bootstrap.min.css"

php处理登录、添加数据、删除数据和修改数据

php 处理登录 :需要先建一个登录的页面,用form表单就可以很轻松的完成,(这里的示例是我根据数据库现成的表做的 是一个teacher表格 根据老师的工号和姓名登录的) <form action="chuli.php" method="post"> <div> 工号: <input type="text" name="tno"/> </div> <div> 姓名: