天天看點

mysql like語句_精選25道Mysql面試題,快來測測你的資料庫水準吧

mysql like語句_精選25道Mysql面試題,快來測測你的資料庫水準吧

1、存儲過程和函數的差別

存儲過程是使用者定義的一系列sql語句的集合,涉及特定表或其它對象的任務,使用者可以調用存儲過程,而函數通常是資料庫已定義的方法,它接收參數并傳回某種類型的值并且不涉及特定使用者表。

2、Mysql的技術特點是什麼?

Mysql資料庫軟體是一個用戶端或伺服器系統,其中包括:支援各種用戶端程式和庫的多線程SQL伺服器、不同的後端、廣泛的應用程式程式設計接口和管理工具。

3、檢視系統資訊的SQL語句有哪些?

檢視系統資訊

show status; show variables; show global variables; show global variables like '%version%'; show variables like '%storage_engine%'; 預設的存儲引擎

4、Mysql伺服器預設端口是什麼?

Mysql伺服器的預設端口是3306。

5、與Oracle相比,Mysql有什麼優勢?
  • Mysql是開源軟體,随時可用,無需付費。
  • Mysql是便攜式的
  • 帶有指令提示符的GUI。
  • 使用Mysql查詢浏覽器支援管理
6.導入資料庫的SQL語句是什麼?
  • 導入方法一:

    mysql -uroot -p123456 ceshi(資料庫名)< ceshi.sql

  • 導入方法二:

    use ceshi;

    source /root/ceshi.sql

7、導出資料庫的SQL語句是什麼?

mysqldump -u 使用者名 -p 資料庫名 > 導出的檔案名

8、如何檢視mysql的警告資訊:

mysql> show warnings; 檢視最近一個 sql 語句産生的錯誤警告

9、如何擷取目前的Mysql版本?

SELECT VERSION();

用于擷取目前Mysql的版本。

10、如何在linux伺服器中配置mysql的慢查詢?
# vim /etc/my.cnf
[mysqld]
slow_query_log = 1  #開啟慢查詢日志
slow-query-log-file=/var/lib/mysql/slow.log  #這個路徑對 mysql 使用者具有可寫權限
long_query_time=5  #查詢超過 5 秒鐘的語句記錄下來
                
11、主鍵和候選鍵有什麼差別?

表格的每一行都由主鍵唯一辨別,一個表隻有一個主鍵。 主鍵也是候選鍵。 按照慣例,候選鍵可以被指定為主鍵,并且可以用于任何外鍵引用。

12、如何使用Unix shell登入Mysql?

我們可以通過以下指令登入:

# [mysql dir]/bin/mysql -h hostname -u -p

13、MYSQL資料庫伺服器性能分析的方法指令有哪些?
mysql like語句_精選25道Mysql面試題,快來測測你的資料庫水準吧
14、LIKE聲明中的%和_是什麼意思?

%對應于0個或更多字元,_隻是LIKE語句中的一個字元。

15、常用的索引有哪些種類?
mysql like語句_精選25道Mysql面試題,快來測測你的資料庫水準吧
16、Mysql查詢是否區分大小寫?

不區分

SELECT VERSION(), CURRENT_DATE;

SeLect version(), 

current_date;

seleCt vErSiOn(), current_DATE;

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

17、LIKE和REGEXP操作有什麼差別?

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

SELECT

 FROM employee WHERE emp_name REGEXP "^b";SELECT FROM employee WHERE emp_name LIKE "%b";

18、InnoDB是什麼?

InnoDB,是MySQL的資料庫引擎之一,它的特性是支援事務,并且采用多版本并發控制的方式來提高并發度,當一個事務全部完成,才會執行update.如果一段代碼沒有完成(及一個事務操作沒有完成)它是不會update的,例如: 銀行轉帳,一 筆業務沒有完成的時候,突然的斷電,或是,網絡,系統的原因使你無法完成此交易的話,這個事務是要復原的此交易之前的狀态的,沒有完成交易,你銀行的 money是不會減少的! 缺點是,innoDB的表執行起來速度較慢,但是安全!

19、Mysql如何優化DISTINCT?

DISTINCT在所有列上轉換為GROUP BY,并與ORDER BY子句結合使用。

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

20、如何輸入字元為十六進制數字?

如果想輸入字元為十六進制數字,可以輸入帶有單引号的十六進制數字和字首(X),或者隻用(Ox)字首輸入十六進制數字。 如果表達式上下文是字元串,則十六進制數字串将自動轉換為字元串。

21、如何顯示前50行?

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

SELECT FROM LIMIT 0,50;

22、mysql 中 varchar 與 char 的差別以及 varchar(50)中的 50 代表的涵義?
  • varchar 與 char 的差別: char 是一種固定長度的類型,varchar 則是一種可變長度的類型.
  • varchar(50)中 50 的涵義 : 最多存放 50 個位元組
  • int(20)中 20 的涵義: int(M)中的 M indicates the maximum display width (最大顯示寬度)for integer types. The maximum legal display width is 255.
23、什麼是通用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) - 将整數天數轉換為日期值。
24、1000w條資料,使用limit offset 分頁時,為什麼越往後翻越慢?如何解決?

先查主鍵,再分頁。

select * from tb where id in(select id from tb where limit 10 offset 20)

25、Mysql中有哪幾種鎖?

MyISAM支援表鎖,InnoDB支援表鎖和行鎖,預設為行鎖

  • 表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖沖突的機率最高,并發量最低
  • 行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖沖突的機率小,并發度最高