您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“面試時常問的MySQL數據庫查詢語句有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“面試時常問的MySQL數據庫查詢語句有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
一、什么是數據庫?
數據庫是按照數據結構來組織、存儲和管理數據的倉庫,每個數據庫都有一個或多個不同的API用于創建,訪問,管理,搜索和復制所保存的數據。
我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。
所以,現在我們使用關系型數據庫管理系統來存儲和管理的大數據量。所謂的關系型數據庫,是建立在關系模型基礎上的數據庫,借助于集合代數等數學概念和方法來處理數據庫中的數據。
關系數據庫管理系統(RDBMS)的特點:
1.數據以表格的形式出現
2.每行為各種記錄名稱
3.每列為記錄名稱所對應的數據域
4.許多的行和列組成一張表單
5.若干的表單組成database
如今已有許多商業關系數據庫管理系統,如Oracle,IBM DB2和Microsoft SQL Server等。
也有許多免費的開源關系數據庫,如MySQL,mSQL(mini-SQL)和嵌入式JavaDB(Apache Derby)等。
二、MySQL數據庫
1、定位:
開源、多平臺、關系型數據庫
目前使用最廣泛、流行度最高的的開源數據庫。
2、特點:
功能:支持事務,符合關系型數據庫原理,符合ACID,支持多數SQL規范,以二維表方式組織數據,有插件式存儲引擎,支持多種存儲引擎格式
部署:用編譯安裝的方式,或者二進制包的方式,按照“安裝軟件-創建實例-庫表用戶初始化”,可以很快完成數據庫部署。
使用:使用標準的SQL語句進行數據庫管理,簡單SQL語句的并發和性能較好,對視圖、存儲過程、函數、觸發器等支持的不是太好
監控:在命令行界面有一些常用的命令顯示狀態和性能,在圖形界面方面,有比較多的開源監控工具來監控和記錄數據庫的狀態,比如zabbix,nagios,cacti,lepus等
備份:邏輯備份 mysqldump/mysqldumper ,物理備份 用xtrabackup等工具進行備份;
高可用:MySQL高可用有多種方案,官方有基礎的master-slave主從復制,新版本的innodb cluster,第三方的有MHA等高可用方案;
擴展:MySQL水平拆分,可以通過水平拆分proxy中間進行邏輯映射和拆分,擴大MySQL數據庫的并發能力和吞吐量。
3、適用場景:
默認的innodb存儲引擎,支持高并發,簡單的絕大部分OLTP場景;
Tokudb存儲引擎,使用高并發insert的場景;
Inforbright存儲引擎,可以進行列壓縮和OLAP統計查詢場景;
4、選擇注意:
使用MySQL進行OLTP業務時,需要注意數據量級,如果數據量級過大,需要進行水平拆分;
如果有OLAP需求,可以結合其他架構綜合考慮。
三、測試人員面試:必問的 MySQL 查詢語句
1、查看當前使用的是哪個數據庫
mysql> select database();
另外,在下面2個語句的輸出里也能看出當前庫是哪一個
mysql> show tables;
mysql> status;
2、查看MySQL版本和狀態
mysql> select VERSION();
mysql> status;
3、查看MySQL實例的當前狀態(參數形式)
mysql> show status;
4、查看MySQL實例的參數
mysql> show variables;
查看最大連接數
mysql> show variables like '%max_connections%';
5、查看MySQL實例當前的進程
mysql> show processlist;
6、查詢所有數據
select * from Info 查所有數據
select Code,Name from Info 查特定列
7、根據條件查
select * from Info where Code='p001' 一個條件查詢
select * from Info where Code='p001' and Natio n='n001' 多條件 并關系 查詢
select * from Info where Name='胡軍' or Nation='n001' 多條件 或關系 查詢
select * from Car where Price>=50 and Price<=60 范圍查詢
select * from Car where Price between 50 and 60 范圍查詢
8、模糊查詢
select * from Car where Name like '%型' %通配符代表任意多個字符
select * from Car where Name like '%奧迪%' _通配符代表任意一個字符
select * from Car where Name like '_馬%'
9、排序
select * from Car order by Price asc 按照價格升序排列
select * from Car order by Price desc 按照價格降序排列
select * from Car order by Price,Oil 按照兩列進行排序,前面的為主要的
10、統計函數(聚合函數)
select count(Code) from Car 查詢表中有多少條數據
select max(Price) from Car 取價格的最大值
select min(Price) from Car 取價格的最小值
select sum(Price) from Car 取價格的總和
select avg(Price) from Car 取價格的平均值
11、分組查詢
select Brand from Car group by Brand having count(*)>2 查詢所有系列中數量大于2的
12、分頁查詢
select * from Car limit 0,5 跳過幾條數據取幾條數據
13、去重查詢
select distinct Brand from Car
14、查詢建庫、建表語句
mysql> show create database dbname;
指定庫后才能查詢建表語句
mysql> show create table tablename;
15、查詢指定表的字段屬性
mysql> show full columns from tablename;
或者
mysql> show full fields from tablename;
讀到這里,這篇“面試時常問的MySQL數據庫查詢語句有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。