MYSQL數(shù)據(jù)庫的使用

1驱入、 導(dǎo)入hellodb.sql生成數(shù)據(jù)庫

[root@c7-37-103-mini ~]# mysql < /data/app/hellodb_innodb.sql 
[root@c7-37-103-mini ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.65-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hellodb            |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> use hellodb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [hellodb]> select * from students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name          | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |
|     2 | Shi Potian    |  22 | M      |       1 |         7 |
|     3 | Xie Yanke     |  53 | M      |       2 |        16 |
|     4 | Ding Dian     |  32 | M      |       4 |         4 |
|     5 | Yu Yutong     |  26 | M      |       3 |         1 |
|     6 | Shi Qing      |  46 | M      |       5 |      NULL |
|     7 | Xi Ren        |  19 | F      |       3 |      NULL |
|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |
|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |
|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |
|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |
|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |
|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |
|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |
|    15 | Duan Yu       |  19 | M      |       4 |      NULL |
|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |
|    17 | Lin Chong     |  25 | M      |       4 |      NULL |
|    18 | Hua Rong      |  23 | M      |       7 |      NULL |
|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |
|    20 | Diao Chan     |  19 | F      |       7 |      NULL |
|    21 | Huang Yueying |  22 | F      |       6 |      NULL |
|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |
|    23 | Ma Chao       |  23 | M      |       4 |      NULL |
|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |
|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.01 sec)

(1) 在students表中挠轴,查詢年齡大于25歲诵肛,且為男性的同學(xué)的名字和年齡 ;

MariaDB [hellodb]> select name,age from students where age>25 and gender='M';
+--------------+-----+
| name         | age |
+--------------+-----+
| Xie Yanke    |  53 |
| Ding Dian    |  32 |
| Yu Yutong    |  26 |
| Shi Qing     |  46 |
| Tian Boguang |  33 |
| Xu Xian      |  27 |
| Sun Dasheng  | 100 |
+--------------+-----+
7 rows in set (0.07 sec)

(2) 以ClassID為分組依據(jù)跑芳,顯示每組的平均年齡;

MariaDB [hellodb]> select ClassID,avg(age) from students group by classid;
+---------+----------+
| ClassID | avg(age) |
+---------+----------+
|    NULL |  63.5000 |
|       1 |  20.5000 |
|       2 |  36.0000 |
|       3 |  20.2500 |
|       4 |  24.7500 |
|       5 |  46.0000 |
|       6 |  20.7500 |
|       7 |  19.6667 |
+---------+----------+
8 rows in set (0.04 sec)
#有空值需要排除
MariaDB [hellodb]> select ClassID,avg(age) from students where classid is not null group by classid ;                
+---------+----------+
| ClassID | avg(age) |
+---------+----------+
|       1 |  20.5000 |
|       2 |  36.0000 |
|       3 |  20.2500 |
|       4 |  24.7500 |
|       5 |  46.0000 |
|       6 |  20.7500 |
|       7 |  19.6667 |
+---------+----------+
7 rows in set (0.01 sec)

(3) 顯示第2題中平均年齡大于30的分組及平均年齡;

MariaDB [hellodb]> select ClassID,avg(age) from students where classid is not null and age >30 group by classid ;
+---------+----------+
| ClassID | avg(age) |
+---------+----------+
|       2 |  43.0000 |
|       4 |  32.0000 |
|       5 |  46.0000 |
+---------+----------+
3 rows in set (0.00 sec)

(4) 顯示以L開頭的名字的同學(xué)的信息;

MariaDB [hellodb]> select * from students where name like 'L%';
+-------+-------------+-----+--------+---------+-----------+
| StuID | Name        | Age | Gender | ClassID | TeacherID |
+-------+-------------+-----+--------+---------+-----------+
|     8 | Lin Daiyu   |  17 | F      |       7 |      NULL |
|    14 | Lu Wushuang |  17 | F      |       3 |      NULL |
|    17 | Lin Chong   |  25 | M      |       4 |      NULL |
+-------+-------------+-----+--------+---------+-----------+
3 rows in set (0.00 sec)

2、數(shù)據(jù)庫授權(quán)magedu用戶帮非,允許192.168.1.0/24網(wǎng)段可以連接mysql

方法1:先創(chuàng)建用戶氧吐,然后授權(quán)

create user 'magedu'@'192.168.1.%' identified by 'centos';
#創(chuàng)建用戶還需要授權(quán)用戶可以管理的數(shù)據(jù)庫,hellodb.*表示可以管理hellodb的所有資源
grant all on hellodb.* to magedu;

方法2: 方法2:授權(quán)時(shí)直接創(chuàng)建用戶

grant all on hellodb.* to 'magedu'@'192.168.1.%'  identified by 'centos';

3、總結(jié)mysql常見的存儲引擎以及特點(diǎn)末盔。

MySQL數(shù)據(jù)庫常用的存儲引擎MyISAM 和InnoDB筑舅,MySQL5.5以后其默認(rèn)存儲引擎為InnoDB,相當(dāng)于MyISAM淘汰了陨舱;他們各自的特點(diǎn)如下:

MyISAM引擎特點(diǎn)

不支持事務(wù)

表級鎖定

讀寫相互阻塞翠拣,寫入不能讀,讀時(shí)不能寫

只緩存索引

不支持外鍵約束

不支持聚簇索引

讀取數(shù)據(jù)較快游盲,占用資源較少

不支持MVCC(多版本并發(fā)控制機(jī)制)高并發(fā)

崩潰恢復(fù)性較差

MySQL5.5.5前默認(rèn)的數(shù)據(jù)庫引擎

MyISAM存儲引擎適用場景

只讀(或者寫較少)误墓、表較小(可以接受長時(shí)間進(jìn)行修復(fù)操作)

MyISAM引擎文件

其數(shù)據(jù)庫目錄下包含三個(gè)文件
tbl_name.frm 表格式定義
tbl_name.MYD 數(shù)據(jù)文件
tbl_name.MYI 索引文件

InnoDB引擎特點(diǎn)

行級鎖

支持事務(wù)益缎,適合處理大量短期事務(wù)

讀寫阻塞與事務(wù)隔離級別相關(guān)

可緩存數(shù)據(jù)和索引

支持聚簇索引

崩潰恢復(fù)性更好

支持MVCC高并發(fā)

從MySQL5.5后支持全文索引

從MySQL5.5.5開始為默認(rèn)的數(shù)據(jù)庫引擎

InnoDB數(shù)據(jù)庫文件

所有InnoDB表的數(shù)據(jù)和索引放置于同一個(gè)表空間中
表空間文件:datadir定義的目錄下
數(shù)據(jù)文件:ibddata1, ibddata2, ...
可以設(shè)置每個(gè)表單獨(dú)使用一個(gè)表空間存儲表的數(shù)據(jù)和索引
啟用:innodb_file_per_table=ON
兩類文件放在數(shù)據(jù)庫獨(dú)立目錄中
數(shù)據(jù)文件(存儲數(shù)據(jù)和索引):tb_name.ibd
表格式定義:tb_name.frm

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谜慌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子莺奔,更是在濱河造成了極大的恐慌欣范,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恼琼,居然都是意外死亡妨蛹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門晴竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛙卤,“玉大人,你說我怎么就攤上這事颓鲜”砭剑” “怎么了典予?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵甜滨,是天一觀的道長。 經(jīng)常有香客問我瘤袖,道長衣摩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任捂敌,我火速辦了婚禮艾扮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘占婉。我一直安慰自己泡嘴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布逆济。 她就那樣靜靜地躺著酌予,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奖慌。 梳的紋絲不亂的頭發(fā)上抛虫,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機(jī)與錄音简僧,去河邊找鬼建椰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛岛马,可吹牛的內(nèi)容都是我干的棉姐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼啦逆,長吁一口氣:“原來是場噩夢啊……” “哼伞矩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹦浦,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤扭吁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侥袜,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝌诡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枫吧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浦旱。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖九杂,靈堂內(nèi)的尸體忽然破棺而出颁湖,到底是詐尸還是另有隱情,我是刑警寧澤例隆,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布甥捺,位于F島的核電站,受9級特大地震影響镀层,放射性物質(zhì)發(fā)生泄漏镰禾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一唱逢、第九天 我趴在偏房一處隱蔽的房頂上張望吴侦。 院中可真熱鬧,春花似錦坞古、人聲如沸备韧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽织堂。三九已至,卻和暖如春听怕,著一層夾襖步出監(jiān)牢的瞬間捧挺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工尿瞭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闽烙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓声搁,卻偏偏與公主長得像黑竞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子疏旨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348