这个需求比较冷门,但对于在某些特定的情况下,还是会有这样的需要的.好在Oracle实现还比较方便,用存储过程则轻松实现. 查询字符串: create or replace procedure search_string(pString in varchar) as cursor all_tab_cursor is select a.owner, a.table_name, b.column_name from dba_tables a, dba_tab_columns b, dba_object…
mysql全库搜索指定字符串 DELIMITER // DROP PROCEDURE IF EXISTS `proc_FindStrInAllDataBase`; # CALL `proc_FindStrInAllDataBase` ('testdb','中'); CREATE PROCEDURE `proc_FindStrInAllDataBase` ( ), ) ) BEGIN -- 需要定义接收游标数据的变量 ); ); ); -- 遍历数据结束标志 DECLARE done INT DE…
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段--2.更新字段类型前如果该字段有默认值索引则应先删除掉对应的索引--3.数据表字段数据类型为tinyint在CodeSmith中读出来的是DbType.Byte类型,需要修正 declare @TableName nvarchar(250) --声明读取数据库所有数据表名称游标mycursor1de…
解决问题:字段类型为char的总是占用指定字节长度(末尾好多空白符号),varchar数据类型长度一个汉字占2个字节,内容存储为中文的字段个人建议全部使用nvarchar. 操作说明:打开SQL Server Management Studio,选中你要更新字段类型的数据库,点新建查询菜单,执行下面的语句即可. 详细代码: --批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本declare @TableName nvarchar(255) --定义数…
m_Orchestrate learning system---十四.数据表中字段命名规则 一.总结 一句话总结:a.保证唯一 b.见名知意 1.注意php中的数组类函数和字符串类函数的前缀? 数组类函数的前缀是 array_,而不是arr_,例如 array_merge()函数, 字符串类函数的前缀是str_,而不是string_,例如str_replace()函数 原因应该是string太长了,不便于做前缀,而array的话刚好可以做前缀,故不用缩写 2.str_replace()函数如何使…
sql server更改了数据表的字段/新增数据表的字段  无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选   即可…
NET[C#]Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射? 问题描述 比如有如下的数据表结构:Person: person_id int first_name varchar(50) last_name varchar(50) 以及实体类:Person: public class Person { public int PersonId { get; set; } public string FirstName { get; set; } public str…
MySQL 给已存在的数据表 增加字段和注释 问题描述 在开发一个系统的过程中,经常会遇到随着系统服务功能的扩展,或者服务之间的关联,需要适当的修改原有的表结构,比如,增加一些必要的字段. 示例:在已存在的设备表device中,增加设备IP,设备名称,设备类型三个字段. 问题解决 方式1(命令行方式) 使用MySQL命令,在MySQL客户端工具或者命令行中,执行以下命令: ) DEFAULT NULL COMMENT '设备IP'; ) DEFAULT NULL COMMENT '设备名称';…
MySQL中大数据表增加字段,通过增加索引实现 普通的添加字段sql ALTER TABLE `table_name` ADD COLUMN `num` int(10) NOT NULL DEFAULT 0 AFTER `addtime`; 普通的添加索引sql ALTER TABLE `table_name` ADD INDEX `num` (`num`) ; 但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了. 在网上…
环境:Oracle 11.2.0.4 采用并行的方式,快速收集全库统计信息,多用于跨版本升级之后,对全库的统计信息重新进行快速收集: --开启计时 set timing on --设置并行收集 exec dbms_stats.set_global_prefs('CONCURRENT','TRUE');   --开始收集全库统计信息 begin dbms_stats.gather_database_stats( ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SI…
DECLARE @what varchar(800) SET @what='联系' --要搜索的字符串 DECLARE @sql varchar(8000) DECLARE TableCursor CURSOR LOCAL FOR SELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE ''%'+@what+'%'' ) PRINT ''所在的表及字段:['+o.name+'].['+c.name+']…
作用:想要生成整个Oracle数据库所有表结构WORD文档(数据库设计说明书) Oracle数据库字典介绍    Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象.数据库字典描述了实际数据是如何组织的.对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改.    Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作.    在Ora…
备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十M,但是其它表可能有十几上百G,这时候就需要将需要恢复的表提取出来了 现在有备份库fdcsqlmysql-2018_11_30-03_00_01.sql,里面有多张表,现在需要恢复其中fdc_document这张表的数据 提取建表语句 sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `表名`/!d;q' mysqldump.sql(…
选择主键的原则: 最少性 尽量选择使用单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 1.创建数据表(CREATE TABLE) --创建数据表Student create table Student( SID number(2) constraint PK_SID primary key,--指定该列为主键列,并指定主键名为PK_SID SName varchar2(16) not null ) --创建数据表Class create table Class( CID number(2…
数据类型介绍 MySQL 数据类型分类 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 具体数据类型见这篇博客 MySQL表操作中的约束 primary key 主键约束 非空+唯一 unique key 唯一约束 not null 非空约束 foreign key 外键约束 创建表的的语法 CREATE TABLE[IF NOT EXISTS] tbl_name(字段名称字段类型[完整性约束条件])ENGINE=引擎名称 CHARSET='编码方式" ⚠️注意: 在同…
一.前言 近期有些同学问起流程的表设计,终于有时间能写下博客,并整理下之前所发布的文章. 之前的文章讲到的表设计,没有给全且还存在漏洞,在这里向各位同学表示歉意.这是我个人最新领悟的一些流程思维,欢迎大家指正.关于流程审批,涉及的操作比较多,本章仅考虑了1/2/3点. 审批 退回 撤回/收回(指发起者中止流程) 加签(征求另一人或多人的意见,然后再回到原审批人) 转发(转发给他人进行审批) 会签(通常用于审批后给相关的人签字确认,以获得工作上的协调.) 知会(注意与"会签"的区别,&q…
一.设置编码 LINUX  修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加    default-character-set=utf8 在[mysqld]下添加    default-character-set=utf8   保存,重启mysql即可; 二.创建对象时设置字符集 1 创建数据库指定数据库的字符集 mysql>CREATEDATABASE IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8 COLLAT…
  mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以通过它查询想要的数据表字段名称.   information_schema数据库中有一个叫做COLUMNS的表,该表记录了所有数据库表的字段信息,包括数据库名称(TABLE_SCHEMA).表名称(TABLE_NAME).字段名称(COLUMN_NAME).字段顺序位置(ORDINAL_POSITI…
列举了几个常用的查询进行简单封装,虽然系统也有内置的但是很多人不大会就二次封装简化了一下. 这里只封装了一个条件 多个条件的自己再封装或者用标签解决比较好 这里只是说fun可以万能调用 1获取任意表的某个字段的值 我要查询一个内容的字段值怎么查?~~~fun('wanneng@get_value',2,'cms_content1','picurl') 查询cms中id 为2的picurl 字段 直接返回这个内容的图片 fun('wanneng@get_value',2,'cms_content1…
1 -- 表加注释 2 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注释内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名' 3 --例如: 4 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'系统设置表'…
登陆的命令: su - oracle sqlplus / as sysdba 导出数据表的命令: exp user/pwd@SID file=path/sth.dmp tables=(table1,table2)…
首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 代码如下: SHOW DATABASES                                //列出 MySQL Server 数据库.SHOW TABLES [FROM db_name]                    //列出数据库数据表.SHOW CREATE TABLES tbl_name                    //导出数据表结构.SHOW TABLE STATUS [FROM db_na…
一.修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; etc:>alter table user_info change nickname nickname varchar(30) null;  二.修改某个表的字段名称及指定为空或非空 alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非…
django.db.utils.IntegrityError: (1062, “Duplicate entry ’1234567891011’ for key_’dingdanid’”) 这个错误是之前在添加dingdanid这个字段时出现的,但是在后面中,我不管如何去操作这个数据表都是报相同的错误. 解决方法:在你的app项目中的migrats文件中,把之前相应的错误操作删去,重新运行,便能操作数据表.…
在遇到提交表单时,表单中的name属性与数据表中的字段不一致,报错, 解决方法: 参考1:提交表单的时候,表单的name属性和数据表字段名称是一样的,这样有什么不妥么? 你数据库的信息给前端透露得越多就越不安全,相对来说. 参考2:https://segmentfault.com/q/1010000011092875 Laravel中使用ORM为什么这个字段映射不到?…
一.查询zabbix数据库大小 mysql> select table_schema, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_size from information_schema.tables group by table_schema order by data_size d…
SHOW DATABASES //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name] //列出数据库数据表. SHOW CREATE TABLES tbl_name //导出数据表结构. SHOW TABLE STATUS [FROM db_name] //列出数据表及表状态信息. SHOW COLUMNS FROM tbl_name [FROM db_name] //列出资料表字段 SHOW FIELDS FROM tbl_name [FROM db…
正确的做法是这样,对于数据量很大的表,需要添加所有或者修改字段的做法是如下: 1.先创建一张一样的表 create table new_tb like tb_old; 2.修改创建表的字段 alter table new_tb add COLUMN new_column varchar(32) DEFAULT null; 3.原始数据插入到新的数据表中 insert into new_tb (字段) select 字段 from tb_old; 这里需要注意下,你的insert字段和你查询出来的…
平时在在MSSql中查询数据的时候,想查找,某个字段在数据库中是否存在,并且查询出在哪个表中,哪个字段下面,在不知道的情况下,操作起来会很麻烦,然后就写了一个sql语句,使用起来感觉挺方便的.当然了,也可以做成存储过程,来使用. --一般查询 DECLARE @string VARCHAR(max) SET @string='a'--要查询的字符串 ) DECLARE tbroy CURSOR FOR SELECT name FROM sysobjects WHERE xtype = 'u '…
select * from x_ziyuan where zy_zhanghu regexp '^[0-9]+$'…