數據庫的練習和總結

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

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

# 導入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%';

二、數據庫受權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;

三、mysql常見的存儲引擎以及特色

MySQL最多見的存儲引擎包括InnoDB、MyISAMsql

InnoDB存儲引擎的特色:數據庫

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

MyISAM存儲引擎的特色:緩存

  • 不支持事務
  • 只支持表級鎖,不支持行級鎖
  • 讀寫相互阻塞,寫入不能讀,讀時不能寫
  • 只緩存索引
  • 不支持外鍵約束
  • 不支持聚簇索引
  • 讀取數據較快
  • 不支持MVCC(多版本併發控制機制)高併發
  • 崩潰恢復性較差
相關文章
相關標籤/搜索