Welcome 微信登录

首页 / 数据库 / MySQL

解析SQL 表结构信息查询 含主外键、自增长

解析SQL 表结构信息查询 含主外键、自增长

最近项目需要做什么数据字典,需要表结构信息。在网上看了许多关于表结构信息的查询,感觉都不怎么样。相对好一点就是《基于SQL2005 SQL2008 表结构信息查询升级版的详解(含外键信息)》 ,但是这里有一点小问题,缺少一个过滤以致运行有一点小bug。在AdventureWorks2012数据库中的Address表查询结果如图:在查询过滤中我们添加以下信息就ok了:AND g.class_desc = "OBJECT_OR_COLUMN"修改后的SQL如下...
探讨SQL利用INFORMATION_SCHEMA系统视图如何获取表的主外键信息

探讨SQL利用INFORMATION_SCHEMA系统视图如何获取表的主外键信息

接着上篇文章《解析SQL 表结构信息查询 含主外键、自增长》里面提到了INFORMATION_SCHEMA视图,其实到了SQL 2005微软都主推大家使用INFORMATION_SCHEMA系统视图,而不是在使用sys东东了,当然目前还是有许多信息只能通过sys视图来查询。这里我们还是以查询表结果信息为例来说明一些主要的INFORMATION_SCHEMA视图的使用。首先我们需要查询列的信息,这需要用到[INFORMATION_SCHEMA].[COLUM...
基于mysq字段选择的详解

基于mysq字段选择的详解

mysql支持很多字段类型,包括数值类型、日期/时间类型和字符串(字符)类型;在使用时需要考虑到存储空间,存储效率;几种列类型描述使用了下述惯例:· M表示最大显示宽度。最大有效显示宽度是255。· D时间类型:datetime(8bytes),timestamp(4bytes)字符类型:VARCHAR(M),L+1个字节,其中L<= M且0 <=M<= 65535,不宜把M设置得过大,因为在内存中会计算实际长度,这个计算时需要消耗资源的...
解析mysql二进制日志处理事务与非事务性语句的区别

解析mysql二进制日志处理事务与非事务性语句的区别

在事务性语句执行过程中,服务器将会进行额外的处理,在服务器执行时多个事务是并行执行的,为了把他们的记录在一起,需要引入事务缓存的概念。在事务完成被提交的时候一同刷新到二进制日志。对于非事务性语句的处理。遵循以下3条规则:1)如果非事务性语句被标记为事务性,那么将被写入事务缓冲。2)如果没有标记为事务性语句,而且事务缓存中没有,那么直接写入二进制日志。3)如果没有标记为事务性的,但是事务缓存中有,那么写入事务缓冲。注意如果在一个事务中有非事务性语句,那么将会...
探讨:innodb与myisam在存储上有何特点和区别

探讨:innodb与myisam在存储上有何特点和区别

myisam 存储数据有三个文件.MYD,.MYI ,.FRM 数据文件和索引文件分开存储innodb存储数据有.FRM存放表定义,.ibd(独享表空间),.ibdata(共享表空间).innodb存储数据分独立表空间和共享表空间(具体使用哪个由innodb_file_per_table变量确定),独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件,文件存放在和MyISAM 数据相同的位置,由datadir确定。如果选用共享存储...
mysql基础:mysqld_safe 启动执行流程详解

mysql基础:mysqld_safe 启动执行流程详解

mysqld_safe脚本执行的基本流程:1、查找basedir和ledir。2、查找datadir和my.cnf。3、对my.cnf做一些检查,具体检查哪些选项请看附件中的注释。4、解析my.cnf中的组[mysqld]和[mysqld_safe]并和终端里输入的命令合并。5、调用parse_arguments函数解析用户传递的所有参数($@)。6、对系统日志和错误日志的判断和相应处理具体可以参考附件中的注释,及选项--err-log参数的赋值。7、对选...
解析Mysql备份与恢复简单总结与tee命令的使用介绍

解析Mysql备份与恢复简单总结与tee命令的使用介绍

备份数据方法:一:sql语句。LOCKS TABLES tablename READ;//读锁定尝试锁定表之前,LOCK TABLES不是事务安全型的,会隐含地提交所有活性事务,同时,会隐含地开始一项事务(例如,使用START TRANSACTION),所以,对事务表(如InnoDB)使用LOCK TABLES的正确方法是,设置AUTOCOMMIT=0FLUSH TABLES,SELECT * INTO OUTFILE "data_bck.sql" FIE...
浅析mysql 共享表空间与独享表空间以及他们之间的转化

浅析mysql 共享表空间与独享表空间以及他们之间的转化

innodb这种引擎,与MYISAM引擎的区别很大。特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间。什么是共享表空间和独占表空间共享表空间以及独占表空间都是针对数据的存储方式而言的。共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下。 默认的文件名为:ibdata1 初始化为10M。独占表空间: 每一个表都将会生成以独立的文件方式来...
基于mysql体系结构的深入解析

基于mysql体系结构的深入解析

由:连接池组件、管理服务和工具组件、sql接口组件、查询分析器组件、优化器组件、 缓冲组件、插件式存储引擎、物理文件组成。 mysql是独有的插件式体系结构,各个存储引擎有自己的特点。 mysql各个存储引擎概述:innodb存储引擎:[/color][/b] 面向oltp(online transaction processing)、行锁、支持外键、非锁定读、默认采用repeaable级别(可重复读)通过next-keylocking策略避免幻读、插...
浅析mysql 语句的调度优先级及改变

浅析mysql 语句的调度优先级及改变

MySQL的默认的调度策略可用总结如下:· 写入操作优先于读取操作。· 对某张数据表的写入操作某一时刻只能发生一次,写入请求按照它们到达的次序来处理。· 对某张数据表的多个读取操作可以同时地进行。MySQL允许你改变语句调度的优先级MySQL提供了几个语句调节符,允许你修改它的调度策略:· LOW_PRIORITY关键字应用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE。· HIGH_PRIORITY关键字应用于SELECT...
关于mysql合并表的详细介绍

关于mysql合并表的详细介绍

mysql创建合并表和分区表有点相似,他是mysql 的一种特性,可以把多个结构相同的myisam表合并为一个虚表,存续引擎必须是merge,当从合并表中查询就像从子表中查询一样,和视图有写相似,当创建合并表时也有自己的frm和mrg 文件。合并表创建方法create table t3(a int primary key );create table t4(a int primary key );create table mrg(a int primary...
解析mysql 缓存如何使用内存

解析mysql 缓存如何使用内存

先说明2点开启缓存也会带来开销,主要表现在一下方面读取在查询开始之前必须要检查缓存如果查询是缓存的,但是不在结果集中,那么产生结果后保存数据会带来一定的开销向缓存写如数据也会带来开销有的情况查询缓存不会被缓存,即使你使用 SQL_CACHE也不能缓存主要一下几个引用了用户自定义函数引用了用户自定义变量以用了存续过程查询中包含一些实时的系统函数,比如now引用了临时表虽然上面说到缓存会带来一些开销但是缓存对mysql 还是很重要带来的好处比坏处多下面讲一下m...
<< 81 82 83 84 85 86 87 88 89 90 >>