MySQL 中的数据库(Database)就像是一个容器,其中包含了各种对象。例如,数据表(Table)、视图(View)、存储过程(Stored Procedure)以及触发器(Trigger)等。其中,表是存储数据的主要对象。它们之间的关系如下图所示:

本篇主要介绍数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

3.1 通过 mysql 命令行管理数据库
存储数据需要先创建表,而创建表之前需要创建数据库。我们先使用 mysql 命令行客户端登录数据库,点击开始菜单 -> “MySQL” -> “MySQL 8.0 Command Line Client”,输入 root 用户密码:

www.weixiu3721.com
3.1.1 创建数据库
MySQL 中使用CREATE DATABASE语句创建一个新的数据库:

CREATE DATABASE [IF NOT EXISTS] dbname;

其中,dbname 指定了新数据库的名称;IF NOT EXISTS是一个可选项,如果创建的数据库已经存在,使用该选项可以避免提示错误信息;数据库名称必须唯一。

举例来说,以下语句用于创建一个名为 hrdb 的数据库:

mysql> CREATE DATABASE hrdb;
Query OK, 1 row affected (0.27 sec)

那么,如何查看我们创建的数据库呢?MySQL 提供了SHOW DATABASES命令(不区分大小写)可以列出系统中的所有数据库:

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| hrdb |
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
7 rows in set (0.03 sec)

其中,information_schema、mysql、performance_schema 以及 sys 是 MySQL 的系统数据库。sakila 和 world 是我们安装的示例数据库。hrdb 是刚刚新建的数据库。显然,一个 MySQL 实例服务可以管理多个数据库。

MySQL 中的数据库和模式(Schema)是相同的概念,因此也可以使用SHOW SCHEMAS命令查看数据库列表。

3.1.2 字符集和排序规则
创建数据库时,还可以指定一些选项,例如字符集(Character Set)和排序规则(Collation)。

不同的字符集支持的字符种类和数量不同,例如 ASCII 字符集只能存储字母、数字和常见的符号,GB2312 和 GB18030 可以支持中文,Unicode 字符集能够支持多国语言。排序规则定义了字符的排序顺序,例如是否区分大小写、是否区分重音、中文按照拼音还是偏旁进行排序等。

因此,更完整的CREATE DATABASE语句如下:

CREATE DATABASE [IF NOT EXISTS] dbname
[CHARACTER SET charset_name]
[COLLATE collation_name];

CHARACTER SET选项用于指定字符集,如果不指定,默认为 utf8mb4;COLLATE选项用于指定排序规则,utf8mb4 字符集的默认排序规则为 utf8mb4_0900_ai_ci,表示不区分重音和大小写。

我们使用 GBK 字符集创建一个数据库 testdb:

mysql> create database testdb
-> character set gbk;
Query OK, 1 row affected (0.14 sec)
然后使用以下命令查看创建 testdb 数据库的语句:

mysql> show create database testdb;
+----------+---------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------------------------------------+
| testdb | CREATE DATABASE `testdb` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

使用SHOW CHARACTER SET命令可以查看系统支持的所有字符集,使用SHOW COLLATION命令可以查看字符集支持的排序规则。

3.1.3 选择数据库
在访问表或者其他对象之前,我们必须告诉 MySQL 使用哪个数据库,不同数据库中可以存在同名的对象。MySQL 使用USE命令指定一个工作数据库:

USE dbname;

我们将 hrdb 设置为工作数据库:

mysql> USE hrdb;
Database changed

在此之后,我们执行的各种创建表、查询数据等操作都将在该数据库中进行;除非再次执行USE命令更改工作数据库。

3.1.4 删除数据库
删除数据库意味着同时删除数据库中的其他所有对象,并且不可恢复;因此执行之前需要十分小心!

MySQL 使用DROP DATABASE语句删除一个数据库:

DROP DATABASE [IF EXISTS] dbname;

其中,dbname 指定了要删除的数据库。IF EXISTS是一个可选项,如果被删除的数据库不存在,使用该选项可以避免提示错误信息。

我们将 hrdb 和 testdb 数据库删除:

mysql> drop database hrdb;
Query OK, 0 rows affected (0.17 sec)

mysql> drop database testdb;
Query OK, 0 row affected (0.23 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
6 rows in set (0.00 sec)

再次查看数据库列表,显示 hrdb 和 testdb 不存在。

MySQL 中的数据库和模式(Schema)是相同的概念,因此也可以使用DROP SCHEMA命令删除数据库。

3.2 使用 Workbench 管理数据库
MySQL Workbench 提供了图形化的操作方式,使用更加简单。

3.2.1 创建数据库
使用 MySQL Workbench 连接数据库之后,左侧默认列出了所有的数据库。点击工具栏下面的“create a new schema in the connected server”图标:

显示以下窗口:

输入数据库的名称,设置可选的字符集和排序规则。点击“Apply”按钮:

界面显示创建数据库的命令,方便学习 SQL 语句。再次点击“Apply”按钮完成数据库的创建。此时,界面左侧显示了新建的数据库:

3.2.2 选择数据库
选择左侧数据库列表中的 hrdb,点击右键并选择“Set as Default Schema”,将其设置为工作数据库。

此时,hrdb 被设置高亮,意味着它是当前的工作数据库。

3.2.2 删除数据库
选择左侧数据库列表中的 hrdb,点击右键并选择“Drop Schema”:

此时显示确认页面:

可以点击“Review SQL”查看相应的删除语句,也可以点击“Drop Now”直接删除数据库。删除之后的数据库不再显示在左侧的列表中。

有了数据库之后,接下来就是创建数据表。

管理MySQL 从入门到出门的更多相关文章

  1. MySQL的入门与使用,sqlyog对数据库,表和数据的管理

    MySQL的入门 1.到mysql官网下载. 2.安装mysql软件(一定要放到英文路径下) 3.使用 验证是否成功 将mySQL的bin路径添加到系统环境变量Path中 打开dos命令窗口 Wind ...

  2. MySQL 菜鸟入门“秘籍”

    一.MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不 ...

  3. 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权

    原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...

  4. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  5. MySQL菜鸟入门“秘籍”

    一.MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不 ...

  6. MySQL使用入门--初识数据库

    MySQL使用入门 数据库概述 数据库是存放数据的仓库.在应用的开发中总是离不开数据的查询.处理.存储,例如图书管理系统就需要操纵和存储大量的数据.没有数据库之前我们使用文件存储数据,但是文件存储有很 ...

  7. 使用 python 管理 mysql 开发工具箱 - 1

    Mysql 是一个比较优秀的开源的数据库,很多公司都在使用.作为运维人员,经常做着一些重复性的工作,比如创建数据库实例,数据库备份等,完全都可以使用 python 编写一个工具来实现. 一.模块 Co ...

  8. [转]MySQL主从复制入门

    1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中. 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的33 ...

  9. 【转载】20分钟MySQL基础入门

    原文:20分钟MySQL基础入门 这里持续更新修正 开始使用 MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格 ...

随机推荐

  1. CentOS6.4运维知识点1

    系统的基础优化 1. 修改yum源(CentOS6.4 Mini) wget http://mirrors.163.com/.help/CentOS6-Base-163.repo cd /etc/yu ...

  2. Red Hat Enterprise Linux 8.0 安装

    Red Hat Enterprise Linux 8.0 安装 本次安装通过使用VMware Workstation 15 pro 进行. 1.新建虚拟机 2.点击首页的创建新的虚拟机,或者点击标签栏 ...

  3. 【转】linux lost+found文件夹

    lost+found这个目录一般情况下是空的,当系统非法关机后,如果你丢失了一些文件,在这里能找回来 用来存放fsck过程中部分修复的文件的 如果你运行fsck命令(文件系统检查和修复命令),它也许会 ...

  4. 028-实现阿里云ESC多FLAT网络

    实现类似于阿里云ECS的网络结构,其效果为云主机拥有两块和两个不同的网络,一个网络是用于用于和外网连接,一个用于内网通信,但宿主机上至少有两个网卡,整体配置如下:1.在wmare里给宿主机添加一块网卡 ...

  5. PAT Advanced 1001 A+B Format (20 分)

    Calculate a+b and output the sum in standard format -- that is, the digits must be separated into gr ...

  6. JS让函数只调用一次

    1 .  在第一次调用函数时,就将该函数内容腾空,以到达函数仅调用一次 ———————————————————————————————— 2 . 设置布尔值来控制后面的函数调用 window.onlo ...

  7. 笔记42 Spring Web Flow——Demo(2)

    转自:https://www.cnblogs.com/lyj-gyq/p/9117339.html 为了更好的理解披萨订购应用,再做一个小的Demo. 一.Spring Web Flow 2.0新特性 ...

  8. python3-继承和多态

    在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Supe ...

  9. PHP使用HighChart生成股票K线图详解

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  10. div 垂直居中的方法

    方法一 .table-body>ul>li{ font-size: 0 } .table-body>ul>li:after { content: ''; width: 0; h ...