乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      去 BAT 面試,總結(jié)了這 55 道 MySQL 面試題!

       xkl135 2018-09-21
      來自:it168網(wǎng)站 
      http://tech.it168.com/a2017/1119/3180/000003180421.shtml


      1、一張表,里面有ID自增主鍵,當insert了17條記錄之后,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?


      2、Mysql的技術(shù)特點是什么?

      Mysql數(shù)據(jù)庫軟件是一個客戶端或服務(wù)器系統(tǒng),其中包括:支持各種客戶端程序和庫的多線程SQL服務(wù)器、不同的后端、廣泛的應(yīng)用程序編程接口和管理工具。

      3、Heap表是什么?

      HEAP表存在于內(nèi)存中,用于臨時高速存儲。

      • BLOB或TEXT字段是不允許的

      • 只能使用比較運算符=,<,>,=>,= <

      • HEAP表不支持AUTO_INCREMENT

      • 索引不可為NULL

      4、Mysql服務(wù)器默認端口是什么?

      Mysql服務(wù)器的默認端口是3306。

      5、與Oracle相比,Mysql有什么優(yōu)勢?

      • Mysql是開源軟件,隨時可用,無需付費。

      • Mysql是便攜式的

      • 帶有命令提示符的GUI。

      • 使用Mysql查詢?yōu)g覽器支持管理

      6、如何區(qū)分FLOAT和DOUBLE?

      以下是FLOAT和DOUBLE的區(qū)別:

      • 浮點數(shù)以8位精度存儲在FLOAT中,并且有四個字節(jié)。

      • 浮點數(shù)存儲在DOUBLE中,精度為18位,有八個字節(jié)。

      7、區(qū)分CHAR_LENGTH和LENGTH?

      CHAR_LENGTH是字符數(shù),而LENGTH是字節(jié)數(shù)。Latin字符的這兩個數(shù)據(jù)是相同的,但是對于Unicode和其他編碼,它們是不同的。

      8、請簡潔描述MysqlInnoDB支持的四種事務(wù)隔離級別名稱,以及逐級之間的區(qū)別?

      SQL標準定義的四個隔離級別為:

      • read uncommited :讀到未提交數(shù)據(jù)

      • read committed:臟讀,不可重復(fù)讀

      • repeatable read:可重讀

      • serializable :串行事物



      9、在MysqlENUM的用法是什么?

      ENUM是一個字符串對象,用于指定一組預(yù)定義的值,并可在創(chuàng)建表時使用。

      Create table size(name ENUM('Smail,'Medium','Large');

      10、如何定義REGEXP?

      REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。



      11、CHAR和VARCHAR的區(qū)別?

      以下是CHAR和VARCHAR的區(qū)別:

      • CHAR和VARCHAR類型在存儲和檢索方面有所不同

      • CHAR列長度固定為創(chuàng)建表時聲明的長度,長度值范圍是1到255


      CHAR值被存儲時,它們被用空格填充到特定長度,檢索CHAR值時需刪除尾隨空格。

      12、列的字符串類型可以是什么?

      字符串類型是:

      • SET

      • BLOB

      • ENUM

      • CHAR

      • TEXT

      • VARCHAR

      13、如何獲取當前的Mysql版本?

      SELECT VERSION();用于獲取當前Mysql的版本。

      14、Mysql中使用什么存儲引擎?

      存儲引擎稱為表類型,數(shù)據(jù)使用各種技術(shù)存儲在文件中。

      技術(shù)涉及:

      • Storage mechanism

      • Locking levels

      • Indexing

      • Capabilities and functions.

      15、Mysql驅(qū)動程序是什么?

      以下是Mysql中可用的驅(qū)動程序:

      • PHP驅(qū)動程序

      • JDBC驅(qū)動程序

      • ODBC驅(qū)動程序

      • CWRAPPER

      • PYTHON驅(qū)動程序

      • PERL驅(qū)動程序

      • RUBY驅(qū)動程序

      • CAP11PHP驅(qū)動程序

      • Ado.net5.mxj

      16、TIMESTAMP在UPDATE CURRENT_TIMESTAMP數(shù)據(jù)類型上做什么?

      創(chuàng)建表時TIMESTAMP列用Zero更新。只要表中的其他字段發(fā)生更改,UPDATE CURRENT_TIMESTAMP修飾符就將時間戳字段更新為當前時間。

      17、主鍵和候選鍵有什么區(qū)別?

      表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。

      主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵引用。

      18、如何使用Unix shell登錄Mysql?

      我們可以通過以下命令登錄:

      # [mysql dir]/bin/mysql -h hostname -u <UserName> -p <password>

      19、 myisamchk是用來做什么的?

      它用來壓縮MyISAM表,這減少了磁盤或內(nèi)存使用。

      20、MYSQL數(shù)據(jù)庫服務(wù)器性能分析的方法命令有哪些?

       


      21、如何控制HEAP表的最大尺寸?

      Heal表的大小可通過稱為max_heap_table_size的Mysql配置變量來控制。

      22、MyISAM Static和MyISAM Dynamic有什么區(qū)別?

      MyISAM Static上的所有字段有固定寬度。動態(tài)MyISAM表將具有像TEXT,BLOB等字段,以適應(yīng)不同長度的數(shù)據(jù)類型。點擊這里有一套最全阿里面試題總結(jié)。

      MyISAM Static在受損情況下更容易恢復(fù)。

      23、federated表是什么?

      federated表,允許訪問位于其他服務(wù)器數(shù)據(jù)庫上的表。

      24、如果一個表有一列定義為TIMESTAMP,將發(fā)生什么?

      每當行被更改時,時間戳字段將獲取當前時間戳。

      25、列設(shè)置為AUTO INCREMENT時,如果在表中達到最大值,會發(fā)生什么情況?

      它會停止遞增,任何進一步的插入都將產(chǎn)生錯誤,因為密鑰已被使用。

      26、怎樣才能找出最后一次插入時分配了哪個自動增量?

      LAST_INSERT_ID將返回由Auto_increment分配的最后一個值,并且不需要指定表名稱。

      27、你怎么看到為表格定義的所有索引?

      索引是通過以下方式為表格定義的:

      SHOW INDEX FROM <tablename>;

      28.、LIKE聲明中的%和_是什么意思?

      %對應(yīng)于0個或更多字符,_只是LIKE語句中的一個字符。

      29、如何在Unix和Mysql時間戳之間進行轉(zhuǎn)換?

      • UNIX_TIMESTAMP是從Mysql時間戳轉(zhuǎn)換為Unix時間戳的命令

      • FROM_UNIXTIME是從Unix時間戳轉(zhuǎn)換為Mysql時間戳的命令

      30、列對比運算符是什么?

      SELECT語句的列比較中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR或LIKE運算符。



      31、我們?nèi)绾蔚玫绞懿樵冇绊懙男袛?shù)?

      行數(shù)可以通過以下代碼獲得:

      SELECT COUNT(user_id)FROM users;

      32、Mysql查詢是否區(qū)分大小寫?

      不區(qū)分

      SELECT VERSION(), CURRENT_DATE;

      SeLect version(), current_date;

      seleCt vErSiOn(), current_DATE;

      所有這些例子都是一樣的,Mysql不區(qū)分大小寫。

      33.、LIKE和REGEXP操作有什么區(qū)別?

      LIKE和REGEXP運算符用于表示^和%。

      1

      2

      SELECT * FROM employee WHERE emp_name REGEXP '^b';

      SELECT * FROM employee WHERE emp_name LIKE '%b';

      34.、BLOB和TEXT有什么區(qū)別?

      BLOB是一個二進制對象,可以容納可變數(shù)量的數(shù)據(jù)。有四種類型的BLOB -

      • TINYBLOB

      • BLOB

      • MEDIUMBLOB和

      • LONGBLOB

      它們只能在所能容納價值的最大長度上有所不同。

      TEXT是一個不區(qū)分大小寫的BLOB。四種TEXT類型

      • TINYTEXT

      • TEXT

      • MEDIUMTEXT和

      • LONGTEXT

      它們對應(yīng)于四種BLOB類型,并具有相同的最大長度和存儲要求。

      BLOB和TEXT類型之間的唯一區(qū)別在于對BLOB值進行排序和比較時區(qū)分大小寫,對TEXT值不區(qū)分大小寫。

      35、mysql_fetch_array和mysql_fetch_object的區(qū)別是什么?

      以下是mysql_fetch_array和mysql_fetch_object的區(qū)別:

      mysql_fetch_array() - 將結(jié)果行作為關(guān)聯(lián)數(shù)組或來自數(shù)據(jù)庫的常規(guī)數(shù)組返回。

      mysql_fetch_object - 從數(shù)據(jù)庫返回結(jié)果行作為對象。

      36、我們?nèi)绾卧?/span>mysql中運行批處理模式?

      以下命令用于在批處理模式下運行:

      mysql;

      mysql mysql.out

      37、MyISAM表格將在哪里存儲,并且還提供其存儲格式?

      每個MyISAM表格以三種格式存儲在磁盤上:

      ·“.frm”文件存儲表定義

      ·數(shù)據(jù)文件具有“.MYD”(MYData)擴展名

      索引文件具有“.MYI”(MYIndex)擴展名

      38.、Mysql中有哪些不同的表格?

      共有5種類型的表格:

      • MyISAM

      • Heap

      • Merge

      • INNODB

      • ISAM

      MyISAM是Mysql的默認存儲引擎。

      39、ISAM是什么?

      ISAM簡稱為索引順序訪問方法。它是由IBM開發(fā)的,用于在磁帶等輔助存儲系統(tǒng)上存儲和檢索數(shù)據(jù)。

      40、InnoDB是什么?

      lnnoDB是一個由Oracle公司開發(fā)的Innobase Oy事務(wù)安全存儲引擎。



      41、Mysql如何優(yōu)化DISTINCT?

      DISTINCT在所有列上轉(zhuǎn)換為GROUP BY,并與ORDER BY子句結(jié)合使用。

      1

      SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;

      42、如何輸入字符為十六進制數(shù)字?

      如果想輸入字符為十六進制數(shù)字,可以輸入帶有單引號的十六進制數(shù)字和前綴(X),或者只用(Ox)前綴輸入十六進制數(shù)字。

      如果表達式上下文是字符串,則十六進制數(shù)字串將自動轉(zhuǎn)換為字符串。

      43、如何顯示前50行?

      Mysql中,使用以下代碼查詢顯示前50行:

      SELECT*FROM

      LIMIT 0,50;

      44、可以使用多少列創(chuàng)建索引?

      任何標準表最多可以創(chuàng)建16個索引列。

      45、NOW()和CURRENT_DATE()有什么區(qū)別?

      NOW()命令用于顯示當前年份,月份,日期,小時,分鐘和秒。

      CURRENT_DATE()僅顯示當前年份,月份和日期。

      46、什么樣的對象可以使用CREATE語句創(chuàng)建?

      以下對象是使用CREATE語句創(chuàng)建的:

      • DATABASE

      • EVENT

      • FUNCTION

      • INDEX

      • PROCEDURE

      • TABLE

      • TRIGGER

      • USER

      • VIEW

      47、Mysql表中允許有多少個TRIGGERS?

      Mysql表中允許有六個觸發(fā)器,如下:

      • BEFORE INSERT

      • AFTER INSERT

      • BEFORE UPDATE

      • AFTER UPDATE

      • BEFORE DELETE

      • AFTER DELETE

      48、什么是非標準字符串類型?

      以下是非標準字符串類型:

      • TINYTEXT

      • TEXT

      • MEDIUMTEXT

      • LONGTEXT

      49、什么是通用SQL函數(shù)?

      • CONCAT(A, B) - 連接兩個字符串值以創(chuàng)建單個字符串輸出。通常用于將兩個或多個字段合并為一個字段。

      • FORMAT(X, D)- 格式化數(shù)字X到D有效數(shù)字。

      • CURRDATE(), CURRTIME()- 返回當前日期或時間。

      • NOW() - 將當前日期和時間作為一個值返回。

      • MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY() - 從日期值中提取給定數(shù)據(jù)。

      • HOUR(),MINUTE(),SECOND() - 從時間值中提取給定數(shù)據(jù)。

      • DATEDIFF(A,B) - 確定兩個日期之間的差異,通常用于計算年齡

      • SUBTIMES(A,B) - 確定兩次之間的差異。

      • FROMDAYS(INT) - 將整數(shù)天數(shù)轉(zhuǎn)換為日期值。

      50、解釋訪問控制列表

      ACL(訪問控制列表)是與對象關(guān)聯(lián)的權(quán)限列表。這個列表是Mysql服務(wù)器安全模型的基礎(chǔ),它有助于排除用戶無法連接的問題。

      MysqlACL(也稱為授權(quán)表)緩存在內(nèi)存中。當用戶嘗試認證或運行命令時,Mysql會按照預(yù)定的順序檢查ACL的認證信息和權(quán)限。

      51、MYSQL支持事務(wù)嗎?

      在缺省模式下,MYSQLautocommit模式的,所有的數(shù)據(jù)庫更新操作都會即時提交,所以在缺省情況下,mysql是不支持事務(wù)的。

      但是如果你的MYSQL表類型是使用InnoDB Tables 或 BDB tables的話,你的MYSQL就可以使用事務(wù)處理,使用SET AUTOCOMMIT=0就可以使MYSQL允許在非autocommit模式,在非autocommit模式下,你必須使用COMMIT來提交你的更改,或者用ROLLBACK來回滾你的更改。

      示例如下:

      START TRANSACTION;

      SELECT @A:=SUM(salary) FROM table1 WHERE type=1;

      UPDATE table2 SET summmary=@A WHERE type=1;

      COMMIT;

      52、 mysql里記錄貨幣用什么字段類型好

      NUMERIC和DECIMAL類型被Mysql實現(xiàn)為同樣的類型,這在SQL92標準允許。他們被用于保存值,該值的準確精度是極其重要的值,例如與金錢有關(guān)的數(shù)據(jù)。當聲明一個類是這些類型之一時,精度和規(guī)模的能被(并且通常是)指定;點擊這里有一套最全阿里面試題總結(jié)。

      例如:

      salary DECIMAL(9,2)

      在這個例子中,9(precision)代表將被用于存儲值的總的小數(shù)位數(shù),而2(scale)代表將被用于存儲小數(shù)點后的位數(shù)。

      因此,在這種情況下,能被存儲在salary列中的值的范圍是從-9999999.99到9999999.99。在ANSI/ISO SQL92中,句法DECIMAL(p)等價于DECIMAL(p,0)。

      同樣,句法DECIMAL等價于DECIMAL(p,0),這里實現(xiàn)被允許決定值p。Mysql當前不支持DECIMAL/NUMERIC數(shù)據(jù)類型的這些變種形式的任一種。

      這一般說來不是一個嚴重的問題,因為這些類型的主要益處得自于明顯地控制精度和規(guī)模的能力。

      DECIMAL和NUMERIC值作為字符串存儲,而不是作為二進制浮點數(shù),以便保存那些值的小數(shù)精度。

      一個字符用于值的每一位、小數(shù)點(如果scale>0)和“-”符號(對于負值)。如果scale是0,DECIMAL和NUMERIC值不包含小數(shù)點或小數(shù)部分。

      DECIMAL和NUMERIC值得最大的范圍與DOUBLE一樣,但是對于一個給定的DECIMAL或NUMERIC列,實際的范圍可由制由給定列的precision或scale限制。

      當這樣的列賦給了小數(shù)點后面的位超過指定scale所允許的位的值,該值根據(jù)scale四舍五入。

      當一個DECIMAL或NUMERIC列被賦給了其大小超過指定(或缺省的)precision和scale隱含的范圍的值,Mysql存儲表示那個范圍的相應(yīng)的端點值。

      我希望本文可以幫助你提升技術(shù)水平。那些,感覺學的好難,甚至會令你沮喪的人,別擔心,我認為,如果你愿意試一試本文介紹的幾點,會向前邁進,克服這種感覺。這些要點也許對你不適用,但你會明確一個重要的道理:接受自己覺得受困這個事實是擺脫這個困境的第一步。

      53、MYSQL數(shù)據(jù)表在什么情況下容易損壞?


      服務(wù)器突然斷電導致數(shù)據(jù)文件損壞。

      強制關(guān)機,沒有先關(guān)閉mysql 服務(wù)等。

      54、mysql有關(guān)權(quán)限的表都有哪幾個?

      Mysql服務(wù)器通過權(quán)限表來控制用戶對數(shù)據(jù)庫的訪問,權(quán)限表存放在mysql數(shù)據(jù)庫里,由mysql_install_db腳本初始化。這些權(quán)限表分別user,db,table_priv,columns_priv和host。

       

      55、Mysql中有哪幾種鎖?


      • MyISAM支持表鎖,InnoDB支持表鎖和行鎖,默認為行鎖

      • 表級鎖:開銷小,加鎖快,不會出現(xiàn)死鎖。鎖定粒度大,發(fā)生鎖沖突的概率最高,并發(fā)量最低

      • 行級鎖:開銷大,加鎖慢,會出現(xiàn)死鎖。鎖力度小,發(fā)生鎖沖突的概率小,并發(fā)度最高


        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多