Mysql數(shù)據(jù)庫軟件是一個客戶端或服務(wù)器系統(tǒng),其中包括:支持各種客戶端程序和庫的多線程SQL服務(wù)器、不同的后端、廣泛的應(yīng)用程序編程接口和管理工具。
HEAP表存在于內(nèi)存中,用于臨時高速存儲。
Mysql服務(wù)器的默認端口是3306。
以下是FLOAT和DOUBLE的區(qū)別:
CHAR_LENGTH是字符數(shù),而LENGTH是字節(jié)數(shù)。Latin字符的這兩個數(shù)據(jù)是相同的,但是對于Unicode和其他編碼,它們是不同的。
SQL標準定義的四個隔離級別為:
ENUM是一個字符串對象,用于指定一組預(yù)定義的值,并可在創(chuàng)建表時使用。 Create table size(name ENUM('Smail,'Medium','Large');
REGEXP是模式匹配,其中匹配模式在搜索值的任何位置。
以下是CHAR和VARCHAR的區(qū)別:
當CHAR值被存儲時,它們被用空格填充到特定長度,檢索CHAR值時需刪除尾隨空格。
字符串類型是:
SELECT VERSION();用于獲取當前Mysql的版本。
存儲引擎稱為表類型,數(shù)據(jù)使用各種技術(shù)存儲在文件中。 技術(shù)涉及:
以下是Mysql中可用的驅(qū)動程序:
創(chuàng)建表時TIMESTAMP列用Zero更新。只要表中的其他字段發(fā)生更改,UPDATE CURRENT_TIMESTAMP修飾符就將時間戳字段更新為當前時間。
表格的每一行都由主鍵唯一標識,一個表只有一個主鍵。 主鍵也是候選鍵。按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵引用。
我們可以通過以下命令登錄: # [mysql dir]/bin/mysql -h hostname -u <UserName> -p <password>
它用來壓縮MyISAM表,這減少了磁盤或內(nèi)存使用。
Heal表的大小可通過稱為max_heap_table_size的Mysql配置變量來控制。
在MyISAM Static上的所有字段有固定寬度。動態(tài)MyISAM表將具有像TEXT,BLOB等字段,以適應(yīng)不同長度的數(shù)據(jù)類型。點擊這里有一套最全阿里面試題總結(jié)。 MyISAM Static在受損情況下更容易恢復(fù)。
federated表,允許訪問位于其他服務(wù)器數(shù)據(jù)庫上的表。
每當行被更改時,時間戳字段將獲取當前時間戳。
它會停止遞增,任何進一步的插入都將產(chǎn)生錯誤,因為密鑰已被使用。
LAST_INSERT_ID將返回由Auto_increment分配的最后一個值,并且不需要指定表名稱。
索引是通過以下方式為表格定義的: SHOW INDEX FROM <tablename>;
%對應(yīng)于0個或更多字符,_只是LIKE語句中的一個字符。
在SELECT語句的列比較中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR或LIKE運算符。
行數(shù)可以通過以下代碼獲得: SELECT COUNT(user_id)FROM users;
不區(qū)分 SELECT VERSION(), CURRENT_DATE; SeLect version(), current_date; seleCt vErSiOn(), current_DATE; 所有這些例子都是一樣的,Mysql不區(qū)分大小寫。
LIKE和REGEXP運算符用于表示^和%。
BLOB是一個二進制對象,可以容納可變數(shù)量的數(shù)據(jù)。有四種類型的BLOB -
它們只能在所能容納價值的最大長度上有所不同。 TEXT是一個不區(qū)分大小寫的BLOB。四種TEXT類型
它們對應(yīng)于四種BLOB類型,并具有相同的最大長度和存儲要求。 BLOB和TEXT類型之間的唯一區(qū)別在于對BLOB值進行排序和比較時區(qū)分大小寫,對TEXT值不區(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é)果行作為對象。
以下命令用于在批處理模式下運行: mysql; mysql mysql.out
每個MyISAM表格以三種格式存儲在磁盤上: ·“.frm”文件存儲表定義 ·數(shù)據(jù)文件具有“.MYD”(MYData)擴展名 索引文件具有“.MYI”(MYIndex)擴展名
共有5種類型的表格:
MyISAM是Mysql的默認存儲引擎。
ISAM簡稱為索引順序訪問方法。它是由IBM開發(fā)的,用于在磁帶等輔助存儲系統(tǒng)上存儲和檢索數(shù)據(jù)。
lnnoDB是一個由Oracle公司開發(fā)的Innobase Oy事務(wù)安全存儲引擎。
DISTINCT在所有列上轉(zhuǎn)換為GROUP BY,并與ORDER BY子句結(jié)合使用。
42、如何輸入字符為十六進制數(shù)字? 如果想輸入字符為十六進制數(shù)字,可以輸入帶有單引號的十六進制數(shù)字和前綴(X),或者只用(Ox)前綴輸入十六進制數(shù)字。 如果表達式上下文是字符串,則十六進制數(shù)字串將自動轉(zhuǎn)換為字符串。
在Mysql中,使用以下代碼查詢顯示前50行: SELECT*FROM LIMIT 0,50;
任何標準表最多可以創(chuàng)建16個索引列。
NOW()命令用于顯示當前年份,月份,日期,小時,分鐘和秒。 CURRENT_DATE()僅顯示當前年份,月份和日期。
以下對象是使用CREATE語句創(chuàng)建的:
在Mysql表中允許有六個觸發(fā)器,如下:
以下是非標準字符串類型:
ACL(訪問控制列表)是與對象關(guān)聯(lián)的權(quán)限列表。這個列表是Mysql服務(wù)器安全模型的基礎(chǔ),它有助于排除用戶無法連接的問題。 Mysql將ACL(也稱為授權(quán)表)緩存在內(nèi)存中。當用戶嘗試認證或運行命令時,Mysql會按照預(yù)定的順序檢查ACL的認證信息和權(quán)限。
在缺省模式下,MYSQL是autocommit模式的,所有的數(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;
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ù)水平。那些,感覺學的好難,甚至會令你沮喪的人,別擔心,我認為,如果你愿意試一試本文介紹的幾點,會向前邁進,克服這種感覺。這些要點也許對你不適用,但你會明確一個重要的道理:接受自己覺得受困這個事實是擺脫這個困境的第一步。
服務(wù)器突然斷電導致數(shù)據(jù)文件損壞。 強制關(guān)機,沒有先關(guān)閉mysql 服務(wù)等。
Mysql服務(wù)器通過權(quán)限表來控制用戶對數(shù)據(jù)庫的訪問,權(quán)限表存放在mysql數(shù)據(jù)庫里,由mysql_install_db腳本初始化。這些權(quán)限表分別user,db,table_priv,columns_priv和host。
|
|