枣庄网络公司

今枣庄市先为齐地,后为梁地。齐时,枣庄市北属鲁郡,辖蕃、永兴、昌虑;南属兰陵郡,辖氶、鄫、傅阳。梁时,今枣庄市北属蕃郡,辖蕃、永福、昌虑县;南属兰陵郡,辖氶县、鄫县、合乡县、阴平、傅阳县。东晋元熙二年(420年)撤销戚县,薛县并入蕃县,移兰陵县治昌虑城(今土城村),新置阳平县(治滕西王晁村),属高平郡。北魏天安二年(467年),今枣庄市属北魏,新置永兴县,治临城,置永福县,治崮岘。东魏武定八年(550年)后废蕃郡留蕃县,废合乡、昌虑,永兴、永福、阳平等县建制。是时今枣庄境内只有氶、蕃两县建制,氶属兰陵郡,蕃属彭城郡。北齐天保八年(557年),北周灭北齐,政区未变,先属北周,后属北齐。
隋朝(581年-618年)
隋文帝开皇三年(583年)罢兰陵郡。开皇六年(586年)改蕃县为滕县。开皇十六年(596年)改氶县为鄫州,设兰陵县(治旧氶城),升滕县为滕郡,旋复改为滕县。大业二年(602年)废鄫州,改兰陵县为氶县,不久改氶县为兰陵县。
唐朝(618—907年)
今枣庄市属河南道,北置滕县,南置兰陵县。唐高祖武德四年(621年)改兰陵为氶县,隶属沂州琅琊郡。滕县隶属徐州彭城郡。
北宋(960—1127年)
北宋建隆元年(960年),今枣庄市滕县隶属京东西路徐州彭城郡,后改称滕阳军;氶县隶属京东东路沂州琅琊郡。
金朝(1115年-1234年)
滕县隶属山东西路,大定二十二年(1182年),设滕阳州,后改滕县。贞祐四年(1216年),置峄州(因葛峄山而得名)领氶县,后划为邳州,明昌二年改兰陵县,隶属山东西路。
枣庄网络公司
删除表test,并释放空间,将test删除的一干二净。
TRUNCATE:
删除表test里的内容,并释放空间,但不删除表的定义,表的结构还在。
DELETE:
1、删除指定数据
删除表test中年龄等于30的且国家为US的数据
2、删除整个表
仅删除表test内的所有内容,保留表的定义,不释放空间。
zzt
zhu***nting1994@126.com
沉迷学习无法自拔
179***6708@qq.com
truncate table 命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与 delete from 数据表的删除全部数据表记录不一样,delete 命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而 truncate 命令删除的数据是不可以恢复的。
相同点
truncate 和不带 where 子句的 delete, 以及 drop 都会删除表内的数据。
不同点:
1. truncate 和 delete 只删除数据不删除表的结构(定义) ,drop 语句将删除表的结构被依赖的约束(constrain), 触发器(trigger), 索引(index); 依赖于该表的存储过程/函数将保留, 但是变为 invalid 状态。
2.delete 语句是 dml, 这个操作会放到 rollback segement 中, 事务提交之后才生效; 如果有相应的 trigger, 执行的时候将被触发。 truncate, drop 是 ddl, 操作立即生效, 原数据不放到 rollback segment 中, 不能回滚。 操作不触发 trigger。
3.delete 语句不影响表所占用的 extent, 高水线(high watermark)保持原位置不动。 显然 drop 语句将表所占用的空间全部释放 。 truncate 语句缺省情况下见空间释放到 minextents 个 extent, 除非使用 reuse storage; truncate会将高水线复位(回到最开始)。
4.速度:一般来说: drop > truncate > delete 。
5.安全性: 小心使用 drop 和 truncate, 尤其没有备份的时候。否则哭都来不及。
使用上, 想删除部分数据行用 delete, 注意带上 where 子句。 回滚段要足够大。
想删除表, 当然用 drop。
想保留表而将所有数据删除。如果和事务无关, 用 truncate 即可。 如果和事务有关, 或者想触发 trigger, 还是用 delete。
如果是整理表内部的碎片, 可以用 truncate 跟上 reuse stroage, 再重新导入/插入数据。
沉迷学习无法自拔
179***6708@qq.com
yujian_6666
105***0957@qq.com
相同点:drop、delete、truncate 都是删除表的内容。
不同点:执行速度:yujian_6666
105***0957@qq.com
delete:删除表的内容,表的结构还存在,不释放空间,可以回滚恢复;
drop:删除表内容和结构,释放空间,没有备份表之前要慎用;
truncate:删除表的内容,表的结构存在,可以释放空间,没有备份表之前要慎用;
夜夜夜夜月
zwg***1@163.com
参考地址
mysql 中可以通过参数 sql_safe_updates 来限制 update/delete,防止全表更新或删除。
以下 3 种情况在采用此参数的情况下都不能正常进行操作:
这三种情况下都会抛出异常,无法执行。
下面是 sql_safe_updates 变量为 0 和 1 时的取值说明:
sql_safe_updates 有两个取值 0 和 1, 即 off 和 on。
sql_safe_updates = 1 (或 sql_safe_updates = on ) 时,不带 where 和 limit 条件的 update 和 delete 操作语句是无法执行的,即使是有 where 和 limit 条件但不带 key column 限制条件的 update 和 delete 也不能执行。
sql_safe_updates = 0 (或 sql_safe_updates = off ) 时,无 where 和 limit 条件的 update 和 delete 操作将会顺利执行。
很显然,在一般的 mysql 中此参数的默认值是 1。
在 sql_safe_updates = on 时,采取删除或更新全表时抛出的错误码为 1175。
夜夜夜夜月
zwg***1@163.com
参考地址
1: 没有加where条件的全表更新操作;
2: 加了 where 条件字段,但是 where 字段没有走索引的表更新;
3: 全表 delete 没有加 where 条件或者 where 条件没有走索引。
hunwu
239***0142@qq.com
参考地址
安装模式设置:
如果设置了 sql_safe_updates=1,那么 update 语句必须满足如下条件之一才能执行成功:
delete 语句必须满足如下条件之一才能执行成功。
1) 使用 where 子句, 并且 where 子句中列必须为 prefix 索引列。
2) 同时使用 where 子句和 limit (此时 where 子句中列可以不是索引列)。
1) 使用 where 子句, 并且 where 子句中列必须为 prefix 索引列。
2) 使用 limit。
3) 同时使用 where 子句和 limit (此时 where 子句中列可以不是索引列)。