軟體測試員必備:面試時常問的15個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;
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2639500/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 執行語句歷史查詢—測試和實施人員必備技能Oracle
- 資料庫查詢語句資料庫
- Web測試入門——軟體測試員必知的50個常見測試點Web
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- 軟體測試面試必問的幾個問題,拿好標準答案,有備無患~面試
- 軟體測試面試常見問題面試
- 百萬資料查詢測試 只需1秒--Sql語句效率測試SQL
- ORACLE 資料庫 查詢語句與DML語句Oracle資料庫
- 15個高效的MySQL資料庫查詢小技巧MySql資料庫
- 軟體測試人員必備的60個測試工具清單,果斷收藏了!
- 初級軟體測試必問面試題面試題
- 軟體為什麼要做異常測試?測試員必知的22個測試點總結!
- Mysql 資料庫 -------- SQL語句進階查詢 ------- 前部分MySql資料庫
- mysql常見的查詢語句的應用MySql
- 深圳軟體測試學習:【資料庫】-【oracle】-連線查詢資料庫Oracle
- 軟體測試人員必備的7種思維方式
- 資料庫面試時常見的26個問題資料庫面試
- 有效提升軟體產品質量,測試人員必備軟體測試常用方法
- 查詢資料庫中的topsql語句資料庫SQL
- 軟體測試人員必備的60個測試工具清單,建議收藏一波!
- 手把手教你測試微信小程式,附軟體測試員必知的20個常見測試點微信小程式
- mysql查詢語句MySql
- 軟體測試人員和QA必須關注的15個網站,值得收藏!網站
- 請教一個mysql查詢語句!!MySql
- 乾貨分享丨3種SQL語句最佳化方法,軟體測試必備!SQL
- Laravel 查詢資料庫欄位內容是 Json 陣列時的查詢語句Laravel資料庫JSON陣列
- DQL(Date Query Language)資料庫查詢語句資料庫
- [Mysql 查詢語句]——查詢欄位MySql
- MySQL資料庫詳解(一)SQL查詢語句是如何執行的?MySql資料庫
- 軟體測試員,面試逃不過的靈魂三問…面試
- mysql查詢語句集MySql
- MySQL查詢阻塞語句MySql
- Mysql之查詢語句MySql
- 資料庫設計與查詢語句的優化資料庫優化
- 查詢資料庫隱含引數的sql語句資料庫SQL
- 執行SQL語句查詢時出現一個SQLException異常SQLException
- 關於Room資料庫,拼寫模糊查詢語句遇到的問題OOM資料庫
- 軟體測試面試必備的一些基礎理論概念面試