MySQL
文章目录
- MySQL
- 初识数据库
- 思考:
- 1 什么是数据库?
- 2 数据库管理系统
- 初识MySQL
- MySQL卸载
- MySQL安装
- 1 配置环境变量
- 2 MySQL目录结构及配置文件
- 连接MySQL数据库
- 基本命令
- MySQL基本语法:
- 1 查看MySQL服务器中所有数据库
- 2 创建数据库
- 3 查看数据库创建信息
- 4 修改数据库编码
- 5 删除数据库
- 6 查看当前所使用的数据库
- 7 切换使用数据库
- 客户端工具
初识数据库
思考:
现阶段数据存储方式有哪些?
- 变量、数组、对象、集合,数据保存在内存中:瞬时状态。
- 文件存储:持久化状态。
以上存储方式有缺点吗?
- 存储数据量级小。
- 没有访问安全限制。
- 没有备份、恢复机制。
1 什么是数据库?
概念:
- 按照数据结构来组织、存储和管理数据的仓库。
- 是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库的分类:
结构 | 描述 |
---|---|
网状结构 | 以节点形式存储和访问。 |
层次结构 | 定向有序的树状结构实现存储和访问。 |
关系结构 | Oracle、DB2、MySQL、SQL Server,以表格(Table)存储,多表间建立关联关系,通过分类、合并、连接、选取等运算实现访问。 |
非关系结构【NoSQL】 | ElastecSearch、MongoDB、Redis,多数使用哈希表,表中以键值(key-value)的方式实现特定的键和一个指针指向的特定数据。 |
2 数据库管理系统
**概念:**操作和管理数据库的大型软件,用于建立、使用和维护数据库。
常见的数据库管理系统(DBMS):
数据库管理系统 | 描述 |
---|---|
Oracle | 被认为是业界目前比较成功的关系型数据库管理系统。 |
DB2 | DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要。 |
SQL Server | Microsoft 公司推出的关系型数据库管理系统。 |
SQLLite | 应用在手机端的数据库。 |
初识MySQL
**概念:**广泛使用的关系型数据库管理系统。
- 1995发布MySQL1.0
- 2000成立MySQL AB公司
- 2005发布MySQL5.0
- 2008被Sun公司收购,发布MySQL5.1
- 2009Sun被Oracle收购,2010发布MySQL5.5
背景:
- 由瑞典MySQL AB公司开发,现属于Oracle旗下产品。
- 是当下最流行的关系型数据库之一。
官网:https://www.mysql.com/
下载地址:https://dev.mysql.com/downloads/mysql/
MySQL卸载
方式1:一般卸载方法停止服务:
- 使用services.msc命令打开服务,找到mysql57关闭。
- 控制面板卸载
- 删除文件夹
- 安装位置 program files
- 数据位置 ProgramData
- 检查服务
- 如果没有删除,手动删除,sc delete mysql57,使用管理员身份运行cmd。
方式2:使用安装包卸载:【推荐】
- 再次启动安装包,卸载所有组件即可。
MySQL安装
1 配置环境变量
Windows:【可选】
-
MYSQL_HOME:
C:\Program Files\MySQL\MySQL Server 5.7
-
PATH:
追加 %MYSQL_HOME%\bin
编码配置:
- C:\ProgramData\MySQL\MySQL Server 5.7中打开my.ini文件
- default-character-set=utf8mb4
- character-set-server=utf8mb4
注意:
- ProgramData文件夹可能被隐藏
- 修改后重启MySQL服务
2 MySQL目录结构及配置文件
核心文件:
文件夹名称 | 内容 |
---|---|
bin | 命令、程序文件 |
lib | 库文件 |
include | 头文件 |
share | 错误信息和字符集文件 |
连接MySQL数据库
通过cmd控制台连接数据库:
- 输入mysql -u root -p
Microsoft Windows [版本 10.0.22621.3007]
(c) Microsoft Corporation。保留所有权利。
C:\Users\胡昊龙>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.25-log MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
基本命令
MySQL基本语法:
- MySQL每条命令或语句通常以;结尾;个别可以不用加分号,比如use、quit、exit。
- MySQL语句不区分大小写。
- MySQL字符串、日期使用单引号或双引号包裹。
- MySQL注释:
- 单行注释:#开头或者–空格开头
- 多行注释: /多行注释/
1 查看MySQL服务器中所有数据库
-
show databases;
mysql> #查看MySQL服务器中所有数据库 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | java2308_db1 | | java2308_db2 | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec)
数据库名称 | 描述 |
---|---|
information_schema | 信息数据库,其中保存着关于所有数据库的信息(元数据)。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。 |
mysql | 核心数据库,主要负责存储数据库的用户、权限设置、关键字等,以及需要使用的控制和管理信息,不可以删除。 |
performance_schema | 性能优化的数据库,MySQL5.5版本中新增的一个性能优化的引擎。 |
sys | 系统数据库,MySQL5.7版本中新增的可以快速的了解元数据信息的系统库。便于发现数据库的多样信息,解决性能瓶颈问题。 |
2 创建数据库
-
create database 数据库名;
-
最经常使用的创建方式;
mysql> #创建数据库 mysql> create database java2308_db1; Query OK, 1 row affected (0.00 sec)
-
-
create database 数据库名 character set utf8mb4;
-
创建数据库, 并指定数据库编码;
mysql> #创建数据库并设置数据库编码 mysql> create database java2308_db3 character set utf8mb4; Query OK, 1 row affected (0.00 sec) mysql> show create database java2308_db3; +--------------+--------------------------------------------------------------------------+ | Database | Create Database | +--------------+--------------------------------------------------------------------------+ | java2308_db3 | CREATE DATABASE `java2308_db3` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +--------------+--------------------------------------------------------------------------+ 1 row in set (0.00 sec)
-
-
create database if not exists 数据库名;
-
如果该数据库已经存在,该语句将不会执行任何操作。
如果该数据库不存在,那么这个语句将会创建一个新的数据库。mysql> create database if not exists java2308_db1; Query OK, 1 row affected, 1 warning (0.00 sec) mysql> create database if not exists java2308_db2; Query OK, 1 row affected (0.00 sec)
-
3 查看数据库创建信息
-
show create database 数据库名;
mysql> #查看数据库创建信息 mysql> show create database java2308_db1; +--------------+--------------------------------------------------------------------------+ | Database | Create Database | +--------------+--------------------------------------------------------------------------+ | java2308_db1 | CREATE DATABASE `java2308_db1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +--------------+--------------------------------------------------------------------------+ 1 row in set (0.00 sec)
4 修改数据库编码
-
alter database 数据库名 character set GBK;
mysql> #修改数据库编码 mysql> alter database java2308_db3 character set GBK; Query OK, 1 row affected (0.00 sec) mysql> show create database java2308_db3; +--------------+----------------------------------------------------------------------+ | Database | Create Database | +--------------+----------------------------------------------------------------------+ | java2308_db3 | CREATE DATABASE `java2308_db3` /*!40100 DEFAULT CHARACTER SET gbk */ | +--------------+----------------------------------------------------------------------+ 1 row in set (0.00 sec)
5 删除数据库
-
drop database 数据库名;
mysql> #删除数据库 mysql> drop database java2308_db3; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | java2308_db1 | | java2308_db2 | | mysql | | performance_schema | | sys | +--------------------+ 6 rows in set (0.00 sec)
6 查看当前所使用的数据库
-
select database();
mysql> #查看当前所使用的数据库 mysql> select database(); +------------+ | database() | +------------+ | NULL | +------------+ 1 row in set (0.00 sec)
7 切换使用数据库
-
use 数据库名;
mysql> #切换使用数据库 mysql> use java2308_db2; Database changed mysql> #查看当前所使用的数据库 mysql> select database(); +--------------+ | database() | +--------------+ | java2308_db2 | +--------------+ 1 row in set (0.00 sec)
客户端工具
Navicat
- 快速、可靠、价格便宜的数据库管理工具。
- 专为简化数据库的管理及降低系统管理成本而设。
SQLyog
- SQLyog提供了完整的图形界面
- 拥有广泛的预定义工具和查询、友好的视觉界面、类似 Excel 的查询结果编辑界面等优点。