《数据库程序员面试分类真题25.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题25.docx(32页珍藏版)》请在优知文库上搜索。
1、倚答题1.在MySQ1.中,如何杳看表的详细信息,例如,存储引擎、行数、更新时间等?正确答案:可以使用SHoWTAB1.ESTATUS获取表的详细信息,语法为(江南博哥)SHOWTAB1.ESTATUSFROMINdb_name1.IKE,pattern*WHEREexpr例如:(l)showtablestatusfromdb_name查询db_name数据库里所有表的信息(2)showtablestatusfromdbname1ike,IhruscG;查询db_name里Ihruse表的信息(3)showtablestatusfromdb11amc1ike,uc%,查询db_namc数据库里
2、表名以UC开头的表的信息卜面的SQ1.语句查询了nysql数据库中的user表的详细信息:数据库程序员面试分类真题25列名NameEngineVersion解释表名表的存储引擎,在MySQ1.4.1.2之前,该列的名字为TyPe表的.frm文件的版本号行存储格式(FiXed,Dynamic,Compressed.Redundant*Compact)0对于MyISAM引擎,可以是DynaImc、RowformatFixed或Compressed0动态行的行长度可变,例如Varchar或Bhb类型字段。固定行是指行长度不变,例如CharfIJInteger类型字段行的数目。对于非事务性表,这个值是
3、精确的,对于事务性引擎,这个值通常是估算的。例如MyISAM,存储精确的数目。对于其他存储引擎,比如InnoDB,本值是一Rows个大约的数,与实际值相差可达4050在这些情况卜.,使用SE1.EcTCofNT(*)来获得准确的数目。对于在INFORMATIO1.SCHEMA数据库中的表,Rows值为NU1.1./vg_row_length平均每行包括的字节数6其中,每列的含义见卜表。Datalength表数据的大小(和存储引擎有关)MaXdataIength表nJ以容纳的最大数据量(和存储引擎有关)IndexlengthData_freeAutoincrementCreatetimeUpda
4、tetimeChCCk_timcColIationChecksumCreate_optionsComment索引的大小(和存储引擎有关)对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间卜.一个AUlOincrement的值表的创建时间表的最近更新时间使用checktable或myisamchk工具检查表的最近时间表的默认字符集和字符排序规则如果启用,则对整个表的内容计算时的校验和指表创建时的其他所有选项包含了其他额外信息,对于MyISAM引擎,包含了注释。对于InnoDB引擎,则保存着InnoDB表空间的剩余空间信息。如果是一个视图,那么注释里面包含了VIEW字
5、样也可以使用informationSChema.tables表来查询,如下:SE1.ECTtablename,Engine,Version,Rowformat,tablerows,Avgrowlength,Datalength,Maxdatalength,Indexlength,Datafree,Autoincrement,Create_time,UPdate_time,Check_time,table_collation,Checksum,Create_options,table_commentFROMinformation_schema.tablesWHERETable-Sehema=my
6、sqandtable_name=,userG;2. MySQ1.的企业版和社区版的区别有哪些?正确答案:用户通常可以到官方网站下载最新版本的MySQ1.数据库。按照用户群分类,MySQ1.数据库目前分为社区版(ConImUnitySCrVer)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户:企业版是收费的,不能在线卜载,但是,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可竟性要求较高的企业客户。考点维护3. 在1.inux下安装MySQ1.有哪几种方式?它们的优缺点各有哪些?正确答案:在
7、windows下可以使用noinstll包和图形化包来安装,在1.inux下可以使用如下3种方式来安装:RPM:RedhMPachgeManiac)渴刽(BinayPjchge)螭(SourcePxkae)侬减聃,适含腑杼习期蛾*枭可触耦msE况谢的:一台册博可以减纱MySQ1.在实斥安装的辰作系维遨诃根据需要定搬mE出系蚀缆均-翎务轲以嫌多个M)SQ1.触般鞋F幽户耶鼓务品安耨皆稹而飘邮不H&台鼠务甥港安装个M)SQl已搬过艇,险不哪鞫好:不限法定碑样教嫁胡奴然驮相咻好糊AsMk静IM帆雌三,ffi:mysqldR8,VTlibmysqI:H吉文件,fl:蟒usrStarcdxpidages
8、:ZRreludemjsj-VERSK)N-0St3f.pCmy即ln-sMBQ1.-VlRSloNa的刈或用m命令jaaip喇-VERSION.Utgz:凶EIW过程WhMySQ1.-Savff4M)5Q1.-3)折蛤亿WSQ1.5.7之后用肝邱i一向蚓KTipblmySqlinstilldbCdnMqI-VERSION.oaiure-RrfiXsterlocahn网InukeA11nkeinstaD4)启动诬睥林触月2InySqitsIfe&tpasw(Hmetcmysqlf-usrlocalmysqletcmy.Cnf.ny.Cnf;在Windows卜的次序为C:WlNDOWSmy.in
9、i-C:WINDOWSf-C:my.ini-C:f-%MySQ1.安装目录(my.ini-%MySQ1.安装目录(fo如果这几个配置文件中都有同一个参数,那么MySQ1.数据库会以读取到的最后一个配置文件中的参数为准。在1.inUX环境下,配置文件般为etcf.在数据库启动的时候可以加上从指定参数文件进行启动,如下:mysqld_safe-defaults-file=etcf&MySQ1.的变量可以分为系统变量和状态变量。MySQ1.没有类似于Oracle的隐含参数,也不需要隐含参数来设置。下面分别讲解。1 .系统变量系统变量用于配置MySQ1.服务器的运行环境。系统变量按其作用域的不同可以分
10、为两种:全局(G1.OBA1.)级,对整个MySQ1.服务器有效;会话(SESSION或1.oCA1.)级,只影响当前会话。有些变量同时拥有以上两个级别,MySQ1.将在建立连接时用全局级变量初始化会活级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量。nJ以用ShOWVariabIeS查看系统变量的值,如下:mysqlshowvariableslikelog%;mysqlshowvariab1eswhereVariablejame1ikelog%andVaIUe=ON;注意:ShOWVariableS优先显示会话级变量的值,若这个值不存在,则显示全局级变量的值,当然也可以加上G
11、1.OBA1.或SESSION关键字进行区别:showglobalvariables;showsession/localvariables:在写一些存储过程时,可能需要引用系统变量的值,可以使用如下方法:购G1.oBA1.var_name鲍SESSlON.var_name的1.oCA1.var_name如果在变量名前没有级别限定符,那么将优先显示会话级的值。另外一种查看系统变量值的方法是直接查询表。对于MySQ1.5.6可以从INFORMATION_SCHEMA.G1.OBA1.VARIAB1.ES和INFORMATIONSCHEMA.SESSIONVARIABI.ES表获得:对于MySQ1.
12、5.7可以从performanceschema,globalvariables和performanceschema,sessionVariabIeS表中查询。需要注意的是,若要查询INFORMTION_SCHEMA.G1.OBA1.VARIAB1.ES或INFORMTION-SCHIMA.SESSloN.VARIAB1.ES表,则需要设置参数ShoW_ComPatibility_56的值九0N,否则会报错:ERROR3167(HYOOO):The,INFORMATION_SCHEMA.G1.OBA1.-STATUS,featureisdisabled;seethedocumentationfor,showcompatibility_56,在MySQ1.服务器启动时,可以通过以示两种方法设置系统变量的值:1)命令行参数,例如,mysqld-max_connections=20002)选项文件(my.cd)。在MySQ1.服务彝启动后,如果需要修改系统变量的值,那么可以通过SET语句:SETG1.OBA1.varname=value;SET鲍G1.OBA1.varname=value;SETSESSIONVarname=Value;SETQQSESSION.var_name=value;如果在变量名前没看级别