转到正文

天亮了说晚安's Blog

欢迎您的光临! http://www.tllswa.com

存档

分类: 数据库相关

本文转自:https://blog.csdn.net/helloxiaozhe/article/details/82729554 相同点 TRUNCATE TABLE和DELETE都可以删除整个数据库表的记录 不同点 DELETEDML语言可以回退可以有条件的删除DELETE FROM 表名 WHERE 条件TRUNCATE TABLEDDL语言无法回退默认所有的表内容都删除删除速度比delete快TRUNCATE TABLE 表名DROP TABLE用于删除表(表的结构、属性以及索引也会被删除);DROP TABLE 表名 原理 DDL(Data Definition Language)数据定义语言,DML(Data Manipulation Language)数据操作语言。 TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而TRUNCATE则不会被撤销。TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比Delete操作后的表要快得多。TRUNCATE不能触发任何Delete触发器。当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。不能清空父表。 优化 在数据库里,使用delete删除数据以后,数据库的存储容量不会减少,而且使用d......Read More

本文转自: https://www.cnblogs.com/liupeng61624/p/6110294.html SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列 truncate table tablename --truncate方式也可以重置自增字段 --重置表的自增字段,保留数据 DBCC CHECKIDENT (tablename,reseed,0) -- 设置允许显式插入自增列 SET IDENTITY_INSERT tablename ON -- 当然插入完毕记得要设置不允许显式插入自增列 SET IDENTITY_INSERT tablename Off Read More

本文转自:http://help.wopus.org/mysql-manage/607.html 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。 information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章 后,你就会对information_schema数据库有所了解。 information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。 information_schema数据库表说明: SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。 TABLES表:提供了关于数据库中的表的信息(包括视图......Read More

本文转自:https://blog.csdn.net/dbagaoshou/article/details/82116501 由于客户要求,需要将数据库进行每天定时自动备份,所以网上找了各种方式就行了测试,遇到很多坑,特此记录下来,步骤是东拼西凑的,虽然也是网上找的,但都是经过亲自测试,一定能用,针对部署时期遇到的问题和解决方式都记录了下来。 1、创建备份目录: 为了方便,在/home保存备份文件; cdmkdir /home/dbback cd /home/dbback 2、创建备份Shell脚本: 注意把以下命令中的DatabaseName换为实际的数据库名称; 当然,你也可以使用其实的命名规则! vi bkDatabaseName.sh 输入/粘贴以下内容: #!/bin/bashmysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql 对备份进行压缩: #!/bin/bashmysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz 注意: 把 username 替换为实际的用户名; 把 password 替换为实际的密码; 把 DatabaseName 替换为实际的数据库名; 3、添加可执行权限: chmod u+x bkDatabas......Read More