‘数据库基础、MariaDB服务部署、库表基本管理、数据类型’经典案例
案例1:部署MariaDB服务器
案例2:使用mysql连接工具
案例3:库的基本操作
案例4:表格创建及查询
案例5:删除表
案例6:复制表
案例7:字符型字段应用
案例8:数值型字段应用
1 案例1:部署MariaDB服务器
1.1 问题
本例要求在CentOS 7虚拟机上部署MariaDB数据库服务器,完成下列任务:
1)安装mariadb-server、mariadb软件包
2)启动mariadb服务,并设置开机自启,确认服务状态
3)将数据库管理用户 root 的密码设为 pwd@123
4)将默认字符集设为utf8,以支持中文
1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装 mariadb-server、mariadb 软件包
[root@svr7 ~]# yum -y install mariadb-server mariadb //安装
.. ..
步骤二:启动 mariadb 服务,并设置开机自启,确认服务状态
1)启动服务
[root@svr7 ~]# systemctl restart mariadb //启动数据库服务
[root@svr7 ~]# systemctl enable mariadb //设置开机自启
2)查看服务状态
[root@svr7 ~]# systemctl status mariadb
● mariadb.service - MariaDB database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; .. .. )Active: active (running) since 日 2018-09-23 15:54:57 CST; 2min 29s agoMain 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]>
转载于:https://blog.51cto.com/14315231/2405592
‘数据库基础、MariaDB服务部署、库表基本管理、数据类型’经典案例相关推荐
- 架构设计:分布式服务,库表拆分模式详解
简介:分布式系统架构的明显特点,就是按照业务系统的功能,拆分成各种服务,每个服务下面都有自己独立的数据库,以此降低业务间的耦合度,隔离不同的数据库保证系统最大的稳定性等. 一.服务间隔离 1.分布式结 ...
- Bifrost 同步数据库实现微服务跨库数据同步
Bifrost Bifrost 可以在同步各种数据数据,类似于 Canal 当前支持的数据库 Redis MongoDB ClickHouse(DDL suppoted) MySQL(DDL supp ...
- 数据库基础 (六)单表查询进阶
通过前面的多篇博文,我们已经可以进行对数据库的基本操作了,但是数据库是远远不止这些的,接下来我们将会进入更深层次的数据库学习,勤学苦练才能有所得. 下面将介绍数据库的重要查询方式 1.排序查询 对 ...
- 达梦数据库基础知识(五)安全用户管理之“三权分立”
为了保证数据库系统的安全性,DM数据库采用"三权分立"或"四权分立"的安全机制,"三权分立"时系统内置三种系统管理员,包括数据库管理员.数据 ...
- 【MySQL 数据库】MySQL 的对库的操作及其数据类型
文章目录 1. 数据库的操作 1.1 显示数据库 1.2 创建数据库 1.3 选中数据库 1.4 删除数据库 2. MySQL 中的数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 1 ...
- 15.8数据库(8):MySQL表关系管理
@概述 关系型数据库中的表与表不是彼此独立,而是相互关联的: 表与表之间的级联关系使得整个数据库成为一个有机关联的系统: 表关系可以分为一对一.一对多.多对多三种,它们的维护方式各不相同: 表关系的管 ...
- 线性表应用之线性表算法设计六大经典案例
目录: 1.顺序有序表的合并 重复式合并 不重复式合并 2.链式有序表的合并 重复式合并 不重复式合并 3.链式有序表的反序合并 4.两 ...
- Mysql单表查询30个经典案例
单表查询(30个例子) 单表查询30个例子 新建一个数据表grade grade表中插入数据 1.查询1945班的成绩信息 2,查询1945班,语文成绩大于60小于90的成绩信息 3,查询学生表中1到 ...
- Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
最新文章
- python写了代码_Python写代码的用法建议
- mysql 存储过程 select 循环_简简单单储存过程——循环一个select结果集
- Nginx的rewrite之if指令(二)
- c语言设计一个仿真窗口的程序,51单片机C语言实例(350例)Proteus仿真和代码
- 重庆考区非计算机专业二级等级考试vf上机题怎么建立程序文件?,计算机等级考试一级上机试题...
- mac ssh客户端_Electerm for Mac(ssh客户端)
- 如何不让tomcat在启动时弹窗_Tomcat 在 Spring Boot 中是如何启动的
- 我的联想拯救者y7000p怎么安装双系统Linux ubuntu 18.04呢?
- CES直击:戴尔连发多款ALIENWARE与XPS新品
- 最新聚合支付系统+农信易扫/飞行模式+附APP
- 思科3650交换机的密码恢复
- win10计算机磁盘图标,电脑win10系统磁盘分区ioc图标修改技巧
- python中fabs函数_Python3 fabs() 函数
- 数据库范式 1NF, 2NF, 3NF的问题与细解
- XM外汇官网 xm-cnfx.com 外汇新手交易者必备!选择交易商一定要看的7个方面
- 永磁同步电机滑膜控制SMO控制仿真模型
- 区块链游戏的 1.0 2.0 3.0 4.0 时代
- 新华网:数字藏品“加速器” 助力非遗传古通今
- 产品3C认证在哪里办理
- WiFi基本概念(一)WiFi和互联网
热门文章
- python使用大漠插件教程_python调用大漠插件教程05字库
- HPC走出全新路线:《开放架构HPC技术与生态白皮书》注解
- node+express 搭建商城项目(2-建立 Mysql链接 完成注册账号接口)
- Java 实现位运算计算加减乘除
- 网络基础之网络协议,OSI,TCP/IP介绍
- 信息系统分析与设计 第十一章 系统详细设计
- 基准测试spec cpu2006
- [ROS] sh脚本文件,source : not found问题
- 极地漩涡袭美中西部致多人死 芝加哥六成航班取消
- excel行列突出显示_在Excel中突出显示即将到来的日期