案例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所示表格及數據,
完成下列任務:
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所示。
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]>