#!/bin/ksh -x
db2 connect to DB_NAME
for i in `db2 list tables for schema SCHEMA_NAME|grep SCHEMA_NAME|awk '{print $1'}`
do
db2 set current schema SCHEMA_NAME
db2 import from /dev/null/ of del replace into $i
db2 "reorg table $i"
done
exit
做完清空表的动作后需要做一次reorg这样空间才会回收!
完了做一次runstats 然后可以通过Quest工具看看是不是所有的表的row都为0
1、打开mysql的客户端 这里使用navicat,连接数据库,等到navicat主页面,双击需要 *** 作的数据库连接。
2、登录到数据库主页面后,点击左侧的数据库连接,打开数据库,可以看到可以 *** 作的所有数据库。
3、这时有有两个数据库,目标是将数据1的所有数据同步到数据库2上,需要点击主页面上的。
4、打开工具菜单,选择数据库同步菜单,d出数据同步的对话框,可以选择数据源,目标数据库。
5、选择数据库源和需要 *** 作的数据库后,然后在选择目标数据库连接,目标数据库,然后在选择需要 *** 作的表,点击开始即可。
查询数据库中所有表名
select table_name from information_schematables where table_schema='csdb' and table_type='base table';
查询指定数据库中指定表的所有字段名column_name
select column_name from information_schemacolumns where table_schema='csdb' and table_name='users'
清除mysql表中数据
delete from 表名;
truncate table 表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,
而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
如果你的datagrid表格是绑在数据源上的,你需要用datagridSetDataBinding设成空的数据源或表,然后执行datagridRefresh就会清了,你需要它显示数据时,要记得datagridSetDataBinding设回你原来的数据源及表 ,再执行datagridRefresh。
如果觉得上面麻烦,可以让ado控件执行一个返回0行的SQL语句,如:SELECT FROM TAB1 WHERE 1=2;这就相当于清了datagrid
如果你是自己填充的datagrid,那清除就是再用空填充的它,datagrid好像没有成员方法可以一次清掉数据(我没有发现)。
同一个项目有时会涉及到多个数据库,这时我们就要配置多个数据源。配置多数据源的常见情况有以下两种:
1)同一个项目中涉及两个或多个业务数据库,它们之间相互独立,这种情况也可以作为两个或多个项目来开发
2)两个或多个数据库之间是主从关系,主库负责写,从库负责读
1、pomxml配置
在pomxml中增加MyBatis-Plus多数据源依赖:
2、配置文件配置
在配置文件applicationyml中配置我们需要连接的数据库:blog和user,默认为blog
3、启动类配置
在@SpringBootApplication注解上增加exclude = DruidDataSourceAutoConfigureclass配置:
这个配置的作用是去掉对DruidDataSourceAutoConfigure的自动配置,否则程序会报错:
原因:
DruidDataSourceAutoConfigure在DynamicDataSourceAutoConfiguration之前,其会注入一个DataSourceWrapper,会在原生的springdatasource下找url, username, password等,而我们动态数据源的配置路径是变化的。
4、实体类和dao层配置
在po文件夹下创建blog和user文件夹,分别用于存储blog数据库和user数据库的实体:
注解:
@TableName: 表名注解,标识实体类对应的表
@TableId: 主键注解,当type = IdTypeAUTO时,表示这个主键是自增主键
在dao文件夹下创建blog和user文件夹,分别用于存储blog和user的dao:
注解:
@Repository: 将数据访问层(DAO层)的类标识为Spring Bean
@DS: 配置非默认数据源,本示例中blog为默认数据源,user为非默认数据源,在使用@DS注解时,有如下注意事项:
1)不能使用事务,否则数据源不会切换,使用的还是第一次加载的数据源
2)第一次加载数据源之后,第二次,第三次…… *** 作其他数据源,如果数据源不存在,使用的还是第一次加载的数据源
3)数据源名称不要包含下划线,否则不能切换
5、测试验证
编写ArticleController和UserInfoController:
注 : 业务逻辑复杂时,Controller和Mapper中间会有Service层来处理业务逻辑,现在我们就简单的测试一下多数据源,所以直接使用Controller调用Mapper了
1、配置分页插件
2、分页方法
1)使用MyBatis-Plus的selectPage方法
使用MyBatis-Plus的selectPage方法,返回了IPage,示例:
2)sql分页
有时候有些分页需要关联多张表,使用LambdaQueryWrapper不太方便,这时候可以自己写sql来实现分页,主要有两种:纯sql自己实现分页和使用IPage实现分页
注 : 这里的sql示例就使用单表查询了,具体的可根据业务场景使用多表查询
A、纯sql自己实现分页
分页的数据list和总条数单独调用方法返回 :
B、使用IPage实现分页(常用)
返回IPage,返回值的数据结构见“ 1)使用MyBatis-Plus的selectPage方法 ”
本文简单介绍了一下MyBatis-Plus的多数据源和分页,本文示例代码, 详见>
--只能做最小日志记录
alter database 库名 set recovery simple
--然后删除记录
--删除完成后恢复设置
alter database 库名 set recovery full
楼上都说使用delete,由于一般要写日志,所以速度会慢一些,特别是数据量比较大的时候。楼上更恨,把表给删了……-__-!!
最简单而又快速的方法是
truncate table 表名
删除的办法是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。
通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除 *** 作,并且保留了表结构。
生成truncate命令的sql语句为:
SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。
然后将生成的.sql脚本拷贝到当前文件夹下面:
mv/tmp/truncate_test.sql$current_dir/。
然后执行.sql脚本将数据库中所有表中数据删除:
source$current_dir/truncate_test.sql。
注意:
在进行select....intooutfile...... *** 作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。
扩展资料:
常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除 *** 作,如果删除的是表中某一条或者部分数据的话适合用delete *** 作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除 *** 作。
如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令dropdatabase数据库名即可达到目的。
但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,多执行几次truncate可以达到。
参考资料:
以上就是关于db2 清除数据库 所有的表的内容 保留表结构全部的内容,包括:db2 清除数据库 所有的表的内容 保留表结构、如何清理mysql数据库缓存数据、查询mysql数据库中所有表名并删除数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)