數據庫的練習和總結

1、 導入hellodb.sql生成數據庫

(1) 在students表中,查詢年齡大於25歲,且爲男性的同學的名字和年齡
(2) 以ClassID爲分組依據,顯示每組的平均年齡
(3) 顯示第2題中平均年齡大於30的分組及平均年齡
(4) 顯示以L開頭的名字的同學的信息


# 導入hellodb.sql
mysql -uroot -p < hellodb_innodb.sql

# 在students表中,查詢年齡大於25歲,且爲男性的同學的名字和年齡
use hellodb;
select name as 姓名,age as 年齡 from students where age > 25 and gender='M';

# 以ClassID爲分組依據,顯示每組的平均年齡
select ClassID as 班級,avg(Age) as 平均年齡 from students group by Classid;

# 顯示第2題中平均年齡大於30的分組及平均年齡
select ClassID as 班級,avg(Age) as 平均年齡 from students group by Classid having avg(Age) > 30;

# 顯示以L開頭的名字的同學的信息
select *  from students where name like 'L%';

2、數據庫授權magedu用戶,允許192.168.1.0/24網段可以連接mysql

# 創建magedu用戶並且設定密碼
create user magedu@'192.168.1.%' identified by '123456';

# 在另一臺CentOS虛擬機登錄數據庫進行驗證
mysql -umagedu -p123456 -h192.168.1.12

# 使用hellodb數據庫
use hellodb;

3、mysql常見的存儲引擎以及特點

MySQL最常見的存儲引擎包括InnoDB、MyISAM

InnoDB存儲引擎的特點:

  • 支持事務,適合處理大量短期事務
  • 支持行級鎖,性能比表級鎖更好
  • 可緩存數據和索引
  • 具備崩潰修復能力和併發控制
  • 支持外鍵
  • 支持聚簇索引
  • 插入數據的速度低

MyISAM存儲引擎的特點:

  • 不支持事務
  • 只支持表級鎖,不支持行級鎖
  • 讀寫相互阻塞,寫入不能讀,讀時不能寫
  • 只緩存索引
  • 不支持外鍵約束
  • 不支持聚簇索引
  • 讀取數據較快
  • 不支持MVCC(多版本併發控制機制)高併發
  • 崩潰恢復性較差
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章