数据库删除语句的分别介绍:
Delete:用于删除表中的行(注:可以删除某一行;也可以在不删除表的情况下(即意味着表的结构、属性、索引完整)删除所有行)
语法:删除某一行:Delete
From
表名称
Where
列名称=值
删除所有行:
Delete
From
表名称
或
Delete
From
表名称
Drop:用于删除表(注:将表的结构、属性、索引也会被删除。)
语法:Drop
Table
表名称
Truncate:用于删除表内的数据(注:仅删除表内的数据,不删除表本身,相当于Delete语句不写Where子句一样)
语法:Truncate
Table
表名称
数据库中删除语句的相同点和不同点的比较:
相同点:
1truncate和不带where子句的delete,以及drop都能删除表内的数据
2truncate和delete只删除表数据保留表结构
不同点:
1
truncate
table
tablename
删除表内容释放表空间保留表结构(即:只删除表内的数据,不删除表本身。相当于Delete语句不写where子句一样),不使用事务处理即和事务无关
truncate
语句缺省情况下将空间释放到
minextents个
extent,
除非使用reuse
storage;truncate
会将高水线复位(回到最开始)。
2
delete
table
tablename
[where子句]
delete属于数据 *** 作语言(DML),不能自动提交事务,需commit提交
这个 *** 作会放到
rollback
segement
中,事务提交之后才生效;
如果有相应的
trigger,执行的时候将被触发。
delete
语句不影响表所占用的
extent,高水线(high
watermark)保持原位置不动
3
drop
table
tablename
drop属于数据定义语言(DDL)可以自动提交事务;
drop
语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index)删除表数据同时删除表结构;
依赖于该表的存储过程/函数将保留,但是变为
invalid
状态。
drop
语句将表所占用的空间全部释放。
删除数据的速度,一般来说:
drop>
truncate
>
delete
使用场合:
当你不再需要该表时,
用
drop;
当你仍要保留该表,但要删除所有记录时,
用
truncate;
当你要删除部分记录时(always
with
a
where
clause),
用
delete
注意:
对于有主外键关系的表,不能使用truncate而应该使用不带where子句的delete语句,由于truncate不记录在日志中,不能够激活触发器
1、登陆sqlserver2012,打开数据库,右击要插入数据的表。
2、右击表名mytable,在菜单中选择“编辑前200行”。
3、这时会打开mytable的编辑窗口,在这个窗口里可以编辑前200行数据。
4、按字段类型输入数据,自动生成的数据不必输入,比如addTime列是自动生成的,就不需要数据数据。
5、当输入完lisi后,按回车到下一行输入。可以看到刚才输入的那一行已经变成灰色。
6、鼠标定位到第三行的第一列继续按如上方式输入。
7、输入结束后,按回车键,如果这个时候不再插入数据,则可以点击执行按钮。
DB 提供了关连式资料库的查询语言 SQL (Structured Query Language) 是一种非常口语化 既易学又易懂的语法 此一语言几乎是每个资料库系统都必须提供的 用以表示关连式的 *** 作 包含了资料的定义(DDL)以及资料的处理(DML) SQL原来拼成SEQUEL 这语言的原型以 系统 R 的名字在 IBM 圣荷西实验室完成 经过IBM内部及其他的许多使用性及效率测试 其结果相当令人满意 并决定在系统R 的技术基础发展出来 IBM 的产品 而且美国国家标准学会(ANSI)及国际标准化组织(ISO)在 遵循一个几乎是以 IBM SQL 为基础的标准关连式资料语言定义 一 资料定义 DDL(Data Definition Language) 资料定语言是指对资料的格式和形态下定义的语言 他是每个资料库要建立时候时首先要面对的 举凡资料分哪些表格关系 表格内的有什么栏位主键 表格和表格之间互相参考的关系等等 都是在开始的时候所必须规划好的 1 建表格 CREATE TABLE table_name( column DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY] column DATATYPE [NOT NULL] )说明DATATYPE 是资料的格式 详见表 NUT NULL 可不可以允许资料有空的(尚未有资料填入) PRIMARY KEY 是本表的主键 2 更改表格 ALTER TABLE table_name ADD COLUMN column_name DATATYPE 说明 增加一个栏位(没有删除某个栏位的语法 ALTER TABLE table_nameADD PRIMARY KEY (column_name)说明 更改表得的定义把某个栏位设为主键 ALTER TABLE table_nameDROP PRIMARY KEY (column_name)说明 把主键的定义删除 3 建立索引 CREATE INDEX index_name ON table_name (column_name)说明 对某个表格的栏位建立索引以增加查询时的速度 4 删除 DROP table_nameDROP index_name 二 的资料形态 DATATYPEs allint 位元的整数 interger 位元的整数 decimal(p s)p 精确值和 s 大小的十进位整数 精确值p是指全部有几个数(digits)大小值 s是指小数点后有几位数 如果没有特别指定 则系统会设为 p= ; s= float 位元的实数 double 位元的实数 char(n)n 长度的字串 n不能超过 varchar(n)长度不固定且其最大长度为 n 的字串 n不能超过 graphic(n)和 char(n) 一样 不过其单位是两个字元 double bytes n不能超过 这个形态是为了支援两个字元长度的字体 例如中文字 vargraphic(n)可变长度且其最大长度为 n 的双字元字串 n不能超过 date包含了 年份 月份 日期 time包含了 小时 分钟 秒 timestamp包含了 年 月 日 时 分 秒 千分之一秒 三 资料 *** 作 DML (Data Manipulation Language) 资料定义好之后接下来的就是资料的 *** 作 资料的 *** 作不外乎增加资料(insert) 查询资料(query) 更改资料(update) 删除资料(delete)四种模式 以下分 别介绍他们的语法 1 增加资料 INSERT INTO table_name (column column )VALUES ( value value )说明 若没有指定column 系统则会按表格内的栏位顺序填入资料 栏位的资料形态和所填入的资料必须吻合 table_name 也可以是景观 view_name INSERT INTO table_name (column column )SELECT columnx columny FROM another_table说明 也可以经过一个子查询(subquery)把别的表格的资料填入 2 查询资料 基本查询SELECT column columns FROM table_name说明 把table_name 的特定栏位资料全部列出来 SELECT FROM table_name WHERE column = xxx [AND column > yyy] [OR column <> zzz] 说明 表示全部的栏位都列出来 WHERE 之后是接条件式 把符合条件的资料列出来 SELECT column column FROM table_name ORDER BY column [DESC]说明 ORDER BY 是指定以某个栏位做排序 [DESC]是指从大到小排列 若没有指明 则是从小到大 排列组合查询 组合查询是指所查询得资料来源并不只有单一的表格 而是联合一个以上的表格才能够得到结果的 SELECT FROM table table WHERE lum =lumn 说明 查询两个表格中其中 column 值相同的资料 当然两个表格相互比较的栏位 其资料形态必须相同 一个复杂的查询其动用到的表格可能会很多个 整合性的查询 SELECT COUNT ()FROM table_nameWHERE column_name = xxx说明 查询符合条件的资料共有几笔 SELECT SUM(column )FROM table_name说明 计算出总和 所选的栏位必须是可数的数字形态 除此以外还有 AVG() 是计算平均 MAX() MIN()计算最大最小值的整合性查询 SELECT column AVG(column )FROM table_nameGROUP BY column HAVING AVG(column ) > xxx说明 GROUP BY: 以column 为一组计算 column 的平均值必须和 AVG SUM等整合性查询的关键字一起使用 HAVING : 必须和 GROUP BY 一起使用作为整合性的限制 复合性的查询SELECT FROM table_name WHERE EXISTS (SELECT FROM table_name WHERE conditions )说明 WHERE 的 conditions 可以是另外一个的 query EXISTS 在此是指存在与否 SELECT FROM table_name WHERE column IN (SELECT column FROM table_name WHERE conditions )说明 IN 后面接的是一个集合 表示column 存在集合里面 SELECT 出来的资料形态必须符合 column 其他查询SELECT FROM table_name WHERE column LIKE x% 说明 LIKE 必须和后面的 x% 相呼应表示以 x为开头的字串 SELECT FROM table_name WHERE column IN ( xxx yyy )说明 IN 后面接的是一个集合 表示column 存在集合里面 SELECT FROM table_name WHERE column BEEEN xx AND yy说明 BEEEN 表示 column 的值介于 xx 和 yy 之间 3 更改资料 UPDATE table_nameSET column = xxx WHERE conditoins说明 更改某个栏位设定其值为 xxx nditions 是所要符合的条件 若没有 WHERE 则整个 table 的那个栏位都会全部被更改 4 删除资料 DELETE FROM table_nameWHERE conditions说明 删除符合条件的资料 说明 关于WHERE条件后面如果包含有日期的比较 不同数据库有不同的表达式 具体如下 ( )如果是ACCESS数据库 则为 WHERE mydate># # ( )如果是ORACLE数据库 则为 WHERE mydate>cast( as date) 或 WHERE mydate>to_date( yyyy mm dd )在Delphi中写成 thedate= ;query SQL add( select from abc where mydate>cast( + +thedate+ + as date) );如果比较日期时间型 则为 WHERE mydatetime>to_date( : : yyyy mm dd hh :mi:ss ) lishixinzhi/Article/program/SQLServer/201311/21970
以上就是关于java关系数据库基础的,数据库表数据删除两种语法的区别是什么全部的内容,包括:java关系数据库基础的,数据库表数据删除两种语法的区别是什么、求sql数据库的各种语法、IBM DB2数据库的SQL语法参考手册等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)