批量获取oracle的表和表字段注释 --用户表注释表 SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME LIKE 'WEB_ISC_%'; --显示指定表的注释 SELECT 'comment on table ' || T.TABLE_NAME || ' is ''' || T.COMMENTS || '''' FROM USER_TAB_COMMENTS T WHERE T.TABLE_NAME LIKE 'WEB_ISC_%'; --用户字…
1,一般游戏log数据库会存储大量的玩家行为日志,一种行为一张表,每天生成一张新表,一天会有30+张不同行为的表,通常会保留玩家日志1年左右,对于超过1年的日志需要删除 2,log数据库一年会保存1W多张表格,用python写个工具,来高效批量的删除表格 解决思路: 1,分析表名,找出相同的规律,本人维护的游戏log库表名后缀通常是以 年+月+日生成的,有了这个规律就好办了 2,用一条sql语法生成出drop table 表名 #下面这条语法是模糊匹配找出2016年的所有表,然后生成'drop…
1.判断数据库表是否存在, // mysqlSELECT table_name FROM information_schema.tables WHERE table_name=#{tableName, jdbcType=VARCHAR} 2.判断数据表字段是否存在 // mysqlSELECT column_name FROM information_schema.columns WHERE table_name=#{tableName, jdbcType=VARCHAR} AND column…
查看所有表和表注释 select TABLE_NAME, TABLE_COMMENT from INFORMATION_SCHEMA.Tables where table_schema = '某数据库名称'   INFORMATION_SCHEMA.Tables: TABLE_SCHEMA,TABLE_NAME,CREATE_TIME,UPDATE_TIME,CHECK_TIME,TABLE_COMMENT 查看所有字段和字段注释 select COLUMN_NAME, COLUMN_COMME…
Mariadb/MySQL生产环境的my.cnf配置示例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.针对MySQL主程序mysqld定义参数[mysqld]  1>.skip-networking=1 关闭网络连接,只侦听本地客户端, 所有和服务器的交互都通过一个socket实现,socket的配置存放在"/var/lib/mysql/mysql.sock",可在/etc/my.cnf修改 [root@node102.yinzhengjie.org.c…
前言   互联网行业公司,对于数据库的敏感字段是一定要进行加密的,方案有很多,最直接的比如写个加解密的工具类,然后在每个业务逻辑中手动处理,在稍微有点规模的项目中这种方式显然是不现实的,不仅工作量大而且后期很难维护.   目前mybatis-plus已经提供了非常好的加解密方案,居士也试过效果很好,但很多互联网公司不一定会引入mybatis-plus作为数据层工具,反而就喜欢使用mybatis,甚至有不少使用SpringDataJPA,那么就没有必要为了加解密专门引入mybatis-plus.…
对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL(MySQL数据库表结构导出器). 介绍: DBExportDoc V1.0 For MySQL是一款利用office特性VBA开发的小工具,利用此工具可以将本机MySQL上任意数据库.任意表的数据结构导出.但是它不是一款你安装是一路next到finish就可以立刻使用的. 要注意的有两点: 首先,你…
mysql使用sql语句查询数据库所有表注释已经表字段注释(转载)   场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammothcode’ 所有表注释 */ SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='mammothcode'; 2. 要查询表字段的注释 /* 查询数据库 ‘mammothcode’ 下表 ‘t…
场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammothcode’ 所有表注释 */ SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='mammothcode'; 2. 要查询表字段的注释 /* 查询数据库 ‘mammothcode’ 下表 ‘t_adminuser’ 所有字段注释 */ SELECT COLUMN_…
1.要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammothcode’ 所有表注释 */ SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='mammothcode'; 2.要查询表字段的注释 /* 查询数据库 ‘mammothcode’ 下表 ‘t_adminuser’ 所有字段注释 */ SELECT COLUMN_NAME,c…
使用这个方法前,强烈建议先备份整个数据库.至于怎么备份?你不会么?在本文下方留言吧. 具体方法:复制下面的php执行语句,保存为sql.php文件(注意配置数据库名称.密码.数据表头),通过ftp上传到网站跟目录,运行. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('localhost','root','123456'); //设置查询的数据库名称,比如CMSYOU当前设置的是phpcms mysql_select_db('phpcm…
今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了找方法,网上主要通过sql语句来删除.自己在他的基础上写了一个php文件实现了批量删除表.事实上原理是一样的. 1.MYSQL批量删除 [1]获得批量删除的命令: Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.t…
使用DOS命令进入MySQL:mysql -u root -p   按回车键输入密码显示如下界面成功进入MySQL交互界面. 如果此时不知道MySQL有哪些数据库,使用显示所有数据库名语句:show databases; (注意结尾有英文格式下的分号) 接下来,选择你想操作的数据库,使用语句:use mysql; (mysql为你想操作的数据库名) 此时可以使用语句,得到该数据库下,显示所有的数据表:show tables; 查看某一数据表的数据:select * from db; (db为my…
MySQL的复制参数除了我们之前搭建主从时遇到的那几个之外,还有以下两个: 1.log-slave-updates 这个参数用来配置从库上是否启动了二进制日志的功能,默认是不开启的,如果开启了那么从库上的更新操作将会被记录到二进制日志中. 不过在级联复制的架构中,比如某个从库A也要作为其他服务器的主库,像这种链式的复制架构下,这个从库就需要打开此参数,因为从库A下面的从库还需要在从库A上获得二进制日志并进行同步操作. 2.read-only 此参数在生产环境中用的比较多,在生产环境中,从库一般读…
公司需要对生产环境的数据库进行备份,我接下了这份任务. 1. 首先谷歌了以下大家的备份方法 许多都使用到了Xtrabackup这个工具,超大型的公司可能有其他的的备份方法,这个工具对于中小型公司,甚至是大公司都可以满足需求. xtrabackup中备份通常需要压缩软件来减少磁盘占用容量,同时使用xbstream流. 注: 在测试还原备份时候,使用compact参数的备份不能还原,就算能还原,mysqld启动之后一会就当机,所以大家不要为了一些容量就使用这个参数.切记! 2. 备份策略 有人建议中…
场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只能删了.删,怎么删? 因为这是线上数据库,里面存放有很多其它数据表,如果直接删除这张表的数据,肯定不行,可能会对其它表有影响.尝试每次只删除一天的数据,还是卡顿的厉害,没办法,写个Python脚本批量删除吧. 具体思路是: 每次只删除一天的数据: 删除一天的数据,每次删除50000条: 一天的数据删…
本文是针对MySql数据库创建的SQL脚本,别搞错咯. 判断表是否存在,不存在就可新增 CREATE TABLE IF NOT EXISTS `mem_cardtype_resource` ( ... ) ENGINE DEFAULT CHARSET=utf8; 判断表字段是否存在,不存在就可新增.修改.删除,移除修改列名 MySql中没有直接的语法可以在增加列前进行判断该列是否存在,解决方案是写一个存储过程来完成此任务. 参考:https://blog.csdn.net/huangjin050…
昨天干了一天的体力活,到快下班时被要求删除一批测试库上错误的表,主要是这些表的字段和生产上字段顺序对不上,然后让我写个脚本,让dba执行一下,主要是删表这种东西我们都没权限. 然后,我就被难到了,我记得以前都是删一个表啊,还没有批量删过表啊,而且以前删表都是先删除约束再删表的,难道这次让我去把每个表的约束和表名找出来写成一个个删除语句?心想这得加班到明天啊,于是乎网上肯定有oracle的批量删除表脚本吧. 然后找啊找,找了十多个,要么是脚本本身有错,要么还是不成功,最后发现是我的ip没有权限,不…
5   数据库表的基本操作 在数据库中,数据表是数据库中最重要.最基本的操作对象,是数据存储的基本单位.数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的.每一行代表一条唯一的记录,每一列代表记录中的一个域.在这里我们还可以认真思考一下什么是表数据,什么是表结构.这个前面提过. 5.1  创建数据表 创建完数据库之后,接下来的工作就是创建表了,因为将数据库比作存储商品的仓库的话,那么表就是存储数据的货架,是用来直接存储数据的.创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完…
执行前: 最终代码: CREATE OR REPLACE FUNCTION "ap"."iter_drop_table_bak"() RETURNS "pg_catalog"."void" AS $BODY$ DECLARE row_tag VARCHAR(200); BEGIN FOR row_tag IN ( select tablename from pg_tables where schemaname='ap' and…