1、一張表,里面有ID自增主鍵,當insert了17條記錄之后,洗掉了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?
2、Mysql的技術特點是什么?
Mysql資料庫軟體是一個客戶端或服務器系統,其中包括:支持各種客戶端程式和庫的多執行緒SQL服務器、不同的后端、廣泛的應用程式編程介面和管理工具,
3、Heap表是什么?
HEAP表存在于記憶體中,用于臨時高速存盤,
-
BLOB或TEXT欄位是不允許的
-
只能使用比較運算子=,<,>,=>,= <
-
HEAP表不支持AUTO_INCREMENT
-
索引不可為NULL
4、Mysql服務器默認埠是什么?
Mysql服務器的默認埠是3306,
5、與Oracle相比,Mysql有什么優勢?
-
Mysql是開源軟體,隨時可用,無需付費,
-
Mysql是便攜式的
-
帶有命令提示符的GUI,
-
使用Mysql查詢瀏覽器支持管理
6、如何區分FLOAT和DOUBLE?
以下是FLOAT和DOUBLE的區別:
-
浮點數以8位精度存盤在FLOAT中,并且有四個位元組,
-
浮點數存盤在DOUBLE中,精度為18位,有八個位元組,
7、區分CHAR_LENGTH和LENGTH?
CHAR_LENGTH是字符數,而LENGTH是位元組數,Latin字符的這兩個資料是相同的,但是對于Unicode和其他編碼,它們是不同的,
8、請簡潔描述Mysql中InnoDB支持的四種事務隔離級別名稱,以及逐級之間的區別?
SQL標準定義的四個隔離級別為:
-
read uncommited :讀到未提交資料
-
read committed:臟讀,不可重復讀
-
repeatable read:可重讀
-
serializable :串行事物
9、在Mysql中ENUM的用法是什么?
ENUM是一個字串物件,用于指定一組預定義的值,并可在創建表時使用,
Create table size(name ENUM('Smail,'Medium','Large');
10、如何定義REGEXP?
REGEXP是模式匹配,其中匹配模式在搜索值的任何位置,
11、CHAR和VARCHAR的區別?
以下是CHAR和VARCHAR的區別:
-
CHAR和VARCHAR型別在存盤和檢索方面有所不同
-
CHAR列長度固定為創建表時宣告的長度,長度值范圍是1到255
當CHAR值被存盤時,它們被用空格填充到特定長度,檢索CHAR值時需洗掉尾隨空格,
12、列的字串型別可以是什么?
字串型別是:
-
SET
-
BLOB
-
ENUM
-
CHAR
-
TEXT
-
VARCHAR
13、如何獲取當前的Mysql版本?
SELECT VERSION();用于獲取當前Mysql的版本,
14、Mysql中使用什么存盤引擎?
存盤引擎稱為表型別,資料使用各種技術存盤在檔案中,
技術涉及:
-
Storage mechanism
-
Locking levels
-
Indexing
-
Capabilities and functions.
15、Mysql驅動程式是什么?
以下是Mysql中可用的驅動程式:
-
PHP驅動程式
-
JDBC驅動程式
-
ODBC驅動程式
-
CWRAPPER
-
PYTHON驅動程式
-
PERL驅動程式
-
RUBY驅動程式
-
CAP11PHP驅動程式
-
Ado.net5.mxj
16、TIMESTAMP在UPDATE CURRENT_TIMESTAMP資料型別上做什么?
創建表時TIMESTAMP列用Zero更新,只要表中的其他欄位發生更改,UPDATE CURRENT_TIMESTAMP修飾符就將時間戳欄位更新為當前時間,
17、主鍵和候選鍵有什么區別?
表格的每一行都由主鍵唯一標識,一個表只有一個主鍵,
主鍵也是候選鍵,按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵參考,
18、如何使用Unix shell登錄Mysql?
我們可以通過以下命令登錄:
# [mysql dir]/bin/mysql -h hostname -u -p
19、 myisamchk是用來做什么的?
它用來壓縮MyISAM表,這減少了磁盤或記憶體使用,
20、MYSQL資料庫服務器性能分析的方法命令有哪些?
21、如何控制HEAP表的最大尺寸?
Heal表的大小可通過稱為max_heap_table_size的Mysql配置變數來控制,
22、MyISAM Static和MyISAM Dynamic有什么區別?
在MyISAM Static上的所有欄位有固定寬度,動態MyISAM表將具有像TEXT,BLOB等欄位,以適應不同長度的資料型別,點擊這里有一套最全阿里面試題總結,
MyISAM Static在受損情況下更容易恢復,
23、federated表是什么?
federated表,允許訪問位于其他服務器資料庫上的表,
24、如果一個表有一列定義為TIMESTAMP,將發生什么?
每當行被更改時,時間戳欄位將獲取當前時間戳,
25、列設定為AUTO INCREMENT時,如果在表中達到最大值,會發生什么情況?
它會停止遞增,任何進一步的插入都將產生錯誤,因為密鑰已被使用,
26、怎樣才能找出最后一次插入時分配了哪個自動增量?
LAST_INSERT_ID將回傳由Auto_increment分配的最后一個值,并且不需要指定表名稱,
27、你怎么看到為表格定義的所有索引?
索引是通過以下方式為表格定義的:
SHOW INDEX FROM ;
28.、LIKE宣告中的%和_是什么意思?
%對應于0個或更多字符,_只是LIKE陳述句中的一個字符,
29、如何在Unix和Mysql時間戳之間進行轉換?
-
UNIX_TIMESTAMP是從Mysql時間戳轉換為Unix時間戳的命令
-
FROM_UNIXTIME是從Unix時間戳轉換為Mysql時間戳的命令
30、列對比運算子是什么?
在SELECT陳述句的列比較中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR或LIKE運算子,
31、我們如何得到受查詢影響的行數?
行數可以通過以下代碼獲得:
SELECT COUNT(user_id)FROM users;
32、Mysql查詢是否區分大小寫?
不區分
SELECT VERSION(), CURRENT_DATE;
SeLect version(), current_date;
seleCt vErSiOn(), current_DATE;
所有這些例子都是一樣的,Mysql不區分大小寫,
33.、LIKE和REGEXP操作有什么區別?
LIKE和REGEXP運算子用于表示^和%,
12
SELECT * FROM employee WHERE emp_name REGEXP "^b";SELECT * FROM employee WHERE emp_name LIKE "%b";
34.、BLOB和TEXT有什么區別?
BLOB是一個二進制物件,可以容納可變數量的資料,有四種型別的BLOB -
-
TINYBLOB
-
BLOB
-
MEDIUMBLOB和
-
LONGBLOB
它們只能在所能容納價值的最大長度上有所不同,
TEXT是一個不區分大小寫的BLOB,四種TEXT型別
-
TINYTEXT
-
TEXT
-
MEDIUMTEXT和
-
LONGTEXT
它們對應于四種BLOB型別,并具有相同的最大長度和存盤要求,
BLOB和TEXT型別之間的唯一區別在于對BLOB值進行排序和比較時區分大小寫,對TEXT值不區分大小寫,
35、mysql_fetch_array和mysql_fetch_object的區別是什么?
以下是mysql_fetch_array和mysql_fetch_object的區別:
mysql_fetch_array() - 將結果行作為關聯陣列或來自資料庫的常規陣列回傳,
mysql_fetch_object - 從資料庫回傳結果行作為物件,
36、我們如何在mysql中運行批處理模式?
以下命令用于在批處理模式下運行:
mysql;
mysql mysql.out
37、MyISAM表格將在哪里存盤,并且還提供其存盤格式?
每個MyISAM表格以三種格式存盤在磁盤上:
·“.frm”檔案存盤表定義
·資料檔案具有“.MYD”(MYData)擴展名
索引檔案具有“.MYI”(MYIndex)擴展名
38、Mysql中有哪些不同的表格?
共有5種型別的表格:
-
MyISAM
-
Heap
-
Merge
-
INNODB
-
ISAM
MyISAM是Mysql的默認存盤引擎,
39、ISAM是什么?
ISAM簡稱為索引順序訪問方法,它是由IBM開發的,用于在磁帶等輔助存盤系統上存盤和檢索資料,
40、InnoDB是什么?
lnnoDB是一個由Oracle公司開發的Innobase Oy事務安全存盤引擎,
41、Mysql如何優化DISTINCT?
DISTINCT在所有列上轉換為GROUP BY,并與ORDER BY子句結合使用,
1
SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
42、如何輸入字符為十六進制數字?
如果想輸入字符為十六進制數字,可以輸入帶有單引號的十六進制數字和前綴(X),或者只用(Ox)前綴輸入十六進制數字,
如果運算式背景關系是字串,則十六進制數字串將自動轉換為字串,
43、如何顯示前50行?
在Mysql中,使用以下代碼查詢顯示前50行:
SELECT*FROM
LIMIT 0,50;
44、可以使用多少列創建索引?
任何標準表最多可以創建16個索引列,
45、NOW()和CURRENT_DATE()有什么區別?
NOW()命令用于顯示當前年份,月份,日期,小時,分鐘和秒,
CURRENT_DATE()僅顯示當前年份,月份和日期,
46、什么樣的物件可以使用CREATE陳述句創建?
以下物件是使用CREATE陳述句創建的:
-
DATABASE
-
EVENT
-
FUNCTION
-
INDEX
-
PROCEDURE
-
TABLE
-
TRIGGER
-
USER
-
VIEW
47、Mysql表中允許有多少個TRIGGERS?
在Mysql表中允許有六個觸發器,如下:
-
BEFORE INSERT
-
AFTER INSERT
-
BEFORE UPDATE
-
AFTER UPDATE
-
BEFORE DELETE
-
AFTER DELETE
48、什么是非標準字串型別?
以下是非標準字串型別:
-
TINYTEXT
-
TEXT
-
MEDIUMTEXT
-
LONGTEXT
49、什么是通用SQL函式?
-
CONCAT(A, B) - 連接兩個字串值以創建單個字串輸出,通常用于將兩個或多個欄位合并為一個欄位,
-
FORMAT(X, D)- 格式化數字X到D有效數字,
-
CURRDATE(), CURRTIME()- 回傳當前日期或時間,
-
NOW() - 將當前日期和時間作為一個值回傳,
-
MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY() - 從日期值中提取給定資料,
-
HOUR(),MINUTE(),SECOND() - 從時間值中提取給定資料,
-
DATEDIFF(A,B) - 確定兩個日期之間的差異,通常用于計算年齡
-
SUBTIMES(A,B) - 確定兩次之間的差異,
-
FROMDAYS(INT) - 將整數天數轉換為日期值,
50、解釋訪問控制串列
ACL(訪問控制串列)是與物件關聯的權限串列,這個串列是Mysql服務器安全模型的基礎,它有助于排除用戶無法連接的問題,
Mysql將ACL(也稱為授權表)快取在記憶體中,當用戶嘗試認證或運行命令時,Mysql會按照預定的順序檢查ACL的認證資訊和權限,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/242216.html
標籤:其他
上一篇:《明解C語言》PDF電子書籍
