‘數據庫基礎、MariaDB服務部署、庫表基本管理、數據類型’經典案例

案例1:部署MariaDB服務器
案例2:使用mysql鏈接工具
案例3:庫的基本操做
案例4:表格建立及查詢
案例5:刪除表
案例6:複製表
案例7:字符型字段應用
案例8:數值型字段應用

1 案例1:部署MariaDB服務器
1.1 問題mysql

本例要求在CentOS 7虛擬機上部署MariaDB數據庫服務器,完成下列任務:sql

1)安裝mariadb-server、mariadb軟件包數據庫

2)啓動mariadb服務,並設置開機自啓,確認服務狀態vim

3)將數據庫管理用戶 root 的密碼設爲 pwd@123服務器

4)將默認字符集設爲utf8,以支持中文
1.2 步驟tcp

實現此案例須要按照以下步驟進行。ide

步驟一:安裝 mariadb-server、mariadb 軟件包工具

[root@svr7 ~]# yum  -y  install  mariadb-server  mariadb      //安裝
.. ..

步驟二:啓動 mariadb 服務,並設置開機自啓,確認服務狀態ui

1)啓動服務this

[root@svr7 ~]# systemctl  restart  mariadb              //啓動數據庫服務
[root@svr7 ~]# systemctl  enable  mariadb                 //設置開機自啓

2)查看服務狀態

[root@svr7 ~]# systemctl  status  mariadb
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; .. .. )
   Active: active (running) since 日 2018-09-23 15:54:57 CST; 2min 29s ago
 Main PID: 82899 (mysqld_safe)
.. ..

3)檢查監聽端口

[root@svr7 ~]# netstat  -nl  |  grep  :3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*        LISTEN      83061/mysqld

步驟三:將數據庫管理用戶 root 的密碼設爲 pwd@123

[root@svr7 ~]# mysqladmin  -uroot  password  'pwd@123'
                                            //因舊密碼爲空,能夠省略 -p舊密碼
[root@svr7 ~]#

步驟四:將默認字符集設爲utf8,以支持中文

[root@svr7 ~]# vim  /etc/my.cnf
[mysqld]
character_set_server=utf8                          //默認字符集utf8
.. .. 
[root@svr7 ~]# systemctl  restart  mariadb          //重啓以生效

2 案例2:使用mysql鏈接工具
2.1 問題

本例要求以案例1的結果爲基礎,使用mysql命令工具鏈接本機的MariaDB數據庫服務器,完成下列任務:

1)以管理用戶root登入

2)列出有哪些庫

3)退出MariaDB>交互界面,返回Linux命令行
2.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:以管理用戶root登入

[root@svr7 ~]# mysql  -uroot  -ppwd@123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>                                     //交互式管理界面

步驟二:列出有哪些庫

MariaDB [(none)]> SHOW DATABASES;                      //列出有哪些庫
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]>

步驟三:退出MariaDB>交互界面,返回Linux命令行

MariaDB [(none)]> QUIT;                                 //退出管理
Bye
[root@svr7 ~]#                                          //已返回命令行

3 案例3:庫的基本操做
3.1 問題

本例要求熟悉MariaDB庫的基本管理操做,完成下列任務:

1)列出MariaDB服務器上有哪些庫

2)選擇mysql庫,列出此庫中有哪些表,找到 user 表

3)建立名爲 studb 的庫,確認結果

4)刪除名爲 test 的庫,確認結果
3.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:列出MariaDB服務器上有哪些庫

MariaDB [(none)]> SHOW  DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]>

步驟二:選擇mysql庫,列出此庫中有哪些表,找到 user 表

MariaDB [(none)]> USE  mysql;
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 [mysql]> SHOW  TABLES;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |                              //用戶帳號表
+---------------------------+
24 rows in set (0.00 sec)
MariaDB [(none)]>

步驟三:建立名爲 studb 的庫,確認結果

MariaDB [(mysql)]> CREATE  DATABASE  studb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(mysql)]> SHOW  DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| studb              |
| test               |
| zabbix             |
+--------------------+
6 rows in set (0.00 sec)
MariaDB [mysql]>

步驟四:刪除名爲 test 的庫,確認結果

MariaDB [mysql]> DROP  DATABASE  test;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> SHOW  DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| studb              |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [mysql]>

4 案例4:表格建立及查詢
4.1 問題

本例要求學會在MariaDB數據庫中建立及查詢表格,參考如圖1所示表格及數據,

‘數據庫基礎、MariaDB服務部署、庫表基本管理、數據類型’經典案例

完成下列任務:

1)在 studb 庫中建立 base 表

2)檢查表格的列設置

3)向表格 base 中錄入前3條數據記錄

4)確認表格 base 的內容
4.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:在 studb 庫中建立 base 表

MariaDB [mysql]> USE  studb;
Database changed
MariaDB [studb]> CREATE  TABLE  base(學號  char(13), 姓名  varchar(20), 性別  char(1), 手機號  char(13), 通訊地址  varchar(48));
Query OK, 0 rows affected (0.00 sec)
MariaDB [studb]>

步驟二:檢查表格的列設置

MariaDB [(studb)]> DESC  base;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| 學號         | char(13)    | YES  |     | NULL    |       |
| 姓名         | varchar(20) | YES  |     | NULL    |       |
| 性別         | char(1)     | YES  |     | NULL    |       |
| 手機號       | char(13)    | YES  |     | NULL    |       |
| 通訊地址     | varchar(48) | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
MariaDB [studb]>

步驟三:向表格 base 中錄入前3條數據記錄

MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110001', '郭靖', '男', '13145201314', '東海桃花島');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110002', '黃蓉', '女', '13145201413', '東海桃花島');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110003', '華箏', '女', '13705666777', '蒙古大營');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]>

步驟四:確認表格 base 的內容

MariaDB [(studb)]> SELECT  *  FROM  base;
+---------------+--------+--------+-------------+-----------------+
| 學號          | 姓名   | 性別   | 手機號      | 通訊地址        |
+---------------+--------+--------+-------------+-----------------+
| NTD2020110001 | 郭靖   | 男     | 13145201314 | 東海桃花島      |
| NTD2020110002 | 黃蓉   | 女     | 13145201413 | 東海桃花島      |
| NTD2020110003 | 華箏   | 女     | 13705666777 | 蒙古大營        |
+---------------+--------+--------+-------------+-----------------+
3 rows in set (0.00 sec)
MariaDB [studb]> 

    5 案例5:刪除表

5.1 問題

本例要求學會在MariaDB數據庫中刪除表數據、刪除表,完成下列任務:

1)刪除 base 表中的全部數據記錄,確認結果

2)刪除整個 base 表,確認結果

3)從新創建 base 表,並錄入所有5條數據記錄

表格數據如圖-2所示。

‘數據庫基礎、MariaDB服務部署、庫表基本管理、數據類型’經典案例
5.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:刪除 base 表中的全部數據記錄,確認結果

MariaDB [studb]> DELETE  FROM  base;
Query OK, 3 rows affected (0.00 sec)
MariaDB [studb]> SELECT  *  FROM  base;
Empty set (0.00 sec)
MariaDB [studb]>

步驟二:刪除整個 base 表,確認結果

MariaDB [studb]> DROP  TABLE  base;
Query OK, 0 rows affected (0.00 sec)
MariaDB [studb]> SELECT  *  FROM  base;
ERROR 1146 (42S02): Table 'studb.base' doesn't exist
MariaDB [studb]>

步驟三:從新創建 base 表,並錄入所有5條數據記錄

MariaDB [studb]> CREATE  TABLE  base(學號  char(13), 姓名  varchar(20), 性別  char(1), 手機號  char(13), 通訊地址  varchar(48));
Query OK, 0 rows affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110001', '郭靖', '男', '13145201314', '東海桃花島');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110002', '黃蓉', '女', '13145201413', '東海桃花島');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110003', '華箏', '女', '13705666777', '蒙古大營');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110004', '洪七公', '男', '13888888888', '太湖北丐幫總舵');
Query OK, 1 row affected (0.01 sec)
MariaDB [studb]> INSERT  INTO  base  VALUES('NTD2020110005', '歐陽鋒', '男', '18777777777', '西域白駝山莊');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]>

6 案例6:複製表
6.1 問題

本例要求學會在MariaDB數據庫中複製表格,完成下列任務:

1)複製studb庫中的base表,創建新表sd(包括原base表中的全部數據)

2)從mysql庫中複製user表,創建新表dbusers

新表dbusers存放到studb庫中
只須要複製表結構,不要包括原表users中的數據

6.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:複製studb庫中的base表,創建新表sd(包括原base表中的全部數據)

1)複製表格

MariaDB [studb]> CREATE  TABLE  studb.sd  SELECT  *  FROM  studb.base;
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0
MariaDB [studb]>

2)確認結果

MariaDB [studb]> SELECT  *  FROM  studb.sd;                  //檢查表數據
+---------------+-----------+--------+-------------+-----------------------+
| 學號          | 姓名      | 性別   | 手機號      | 通訊地址              |
+---------------+-----------+--------+-------------+-----------------------+
| NTD2020110001 | 郭靖      | 男     | 13145201314 | 東海桃花島            |
| NTD2020110002 | 黃蓉      | 女     | 13145201413 | 東海桃花島            |
| NTD2020110003 | 華箏      | 女     | 13705666777 | 蒙古大營              |
| NTD2020110004 | 洪七公    | 男     | 13888888888 | 太湖北丐幫總舵        |
| NTD2020110005 | 歐陽鋒    | 男     | 18777777777 | 西域白駝山莊          |
+---------------+-----------+--------+-------------+-----------------------+
5 rows in set (0.00 sec)
MariaDB [studb]>

步驟二:從mysql庫中複製user表,創建新表mysql.dbusers的結構

1)複製表格

MariaDB [studb]> CREATE  TABLE  studb.dbusers  LIKE  mysql.user;
Query OK, 0 rows affected (0.00 sec)
MariaDB [studb]>

2)確認結果

MariaDB [studb]> CREATE  TABLE  studb.dbusers  LIKE  mysql.user;
Query OK, 0 rows affected (0.00 sec)
MariaDB [studb]> SELECT  *  FROM  studb.dbusers;              //檢查表數據
Empty set (0.00 sec)
MariaDB [studb]> DESC  studb.dbusers;                          //檢查表結構
+------------------------+-----------------------------------+------+-----+---------+-------+
| Field                  | Type                              | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+---------+-------+
| Host                   | char(60)                          | NO   | PRI |         |       |
| User                   | char(16)                          | NO   | PRI |         |       |
| Password               | char(41)                          | NO   |     |     
.. ..
| authentication_string  | text                              | NO   |     | NULL    |       |
+------------------------+-----------------------------------+------+-----+---------+-------+
42 rows in set (0.00 sec)
MariaDB [studb]>

7 案例7:字符型字段應用
7.1 問題

本例要求熟悉在MariaDB數據庫中建立表格時字符型字段的應用,完成下列任務:

1)在 studb 庫中新建表格ntd,包含字段 id char(4) 和name varchar(4)

2)爲表格 ntd 插入如下數據記錄

0001,張無忌
0002,柳如花似玉
03,南宮嘯天

3)列出表格 ntd 中的全部數據內容,觀察結果
7.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:在studb庫中新建表格 ntd

包含字段 id char(4),name varchar(4)

MariaDB [(none)]> USE  studb;
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 [studb]> CREATE  TABLE  ntd(id char(4), name varchar(4));
Query OK, 0 rows affected (0.01 sec)
MariaDB [studb]>

步驟二:爲表格ntd插入數據記錄

MariaDB [studb]> INSERT  INTO  ntd  VALUES('0001', '張無忌');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  ntd  VALUES('0002', '柳如花似玉');
Query OK, 1 row affected, 1 warning (0.00 sec)
MariaDB [studb]> INSERT  INTO  ntd  VALUES('03', '南宮嘯天');
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]>

步驟三:列出表格ntd中的全部數據內容,觀察結果

MariaDB [studb]> SELECT  *  FROM  ntd;
+------+--------------+
| id   | name         |
+------+--------------+
| 0001 | 張無忌       |
| 0002 | 柳如花似     |
| 03   | 南宮嘯天     |
+------+--------------+
3 rows in set (0.00 sec)
MariaDB [studb]>

8 案例8:數值型字段應用
8.1 問題

本例要求熟悉在MariaDB數據庫中建立表格時數值型字段的應用,完成下列任務:

1)在 studb 庫中新建表格 gongzi,包含字段 工號 int 和本月實發 float(8,2)

2)爲表格 gongzi 插入如下數據記錄

1001,48750.85
1002,36500
1005,28850.6070

3)列出表格 gongzi 中的全部數據內容,觀察結果
8.2 步驟

實現此案例須要按照以下步驟進行。

步驟一:新建表格stuinfo.gongzi,包含字段 工號 int和本月實發 float(8,2)

MariaDB [studb]> CREATE  TABLE  gongzi(工號 int, 本月實發 float(8,2));
Query OK, 0 rows affected (0.01 sec)
MariaDB [studb]>

步驟二:爲表格gongzi插入如下數據記錄

MariaDB [studb]> INSERT  INTO  gongzi  VALUES(1001, 48750.85);
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  gongzi  VALUES(1002, 36500);
Query OK, 1 row affected (0.00 sec)
MariaDB [studb]> INSERT  INTO  gongzi  VALUES(1005, 28850.6070);
Query OK, 1 row affected (0.01 sec)
MariaDB [studb]>

步驟三:列出表格gongzi中的全部數據內容,觀察結果

MariaDB [studb]> SELECT  *  FROM  gongzi;
+--------+--------------+
| 工號   | 本月實發     |
+--------+--------------+
|   1001 |     48750.85 |
|   1002 |     36500.00 |
|   1005 |     28850.61 |
+--------+--------------+
3 rows in set (0.00 sec)
MariaDB [studb]>
相關文章
相關標籤/搜索