现阶段数据存储方式有哪些?
以上存储方式有缺点吗?
概念:
数据库的分类:
结构 | 描述 |
---|---|
网状结构 | 以节点形式存储和访问。 |
层次结构 | 定向有序的树状结构实现存储和访问。 |
关系结构 | Oracle、DB2、MySQL、SQL Server,以表格(Table)存储,多表间建立关联关系,通过分类、合并、连接、选取等运算实现访问。 |
非关系结构【NoSQL】 | ElastecSearch、MongoDB、Redis,多数使用哈希表,表中以键值(key-value)的方式实现特定的键和一个指针指向的特定数据。 |
**概念:**操作和管理数据库的大型软件,用于建立、使用和维护数据库。
常见的数据库管理系统(DBMS):
数据库管理系统 | 描述 |
---|---|
Oracle | 被认为是业界目前比较成功的关系型数据库管理系统。 |
DB2 | DB2数据库系统采用多进程多线索体系结构,其功能足以满足大中公司的需要。 |
SQL Server | Microsoft 公司推出的关系型数据库管理系统。 |
SQLLite | 应用在手机端的数据库。 |
**概念:**广泛使用的关系型数据库管理系统。
背景:
官网:https://www.mysql.com/
下载地址:https://dev.mysql.com/downloads/mysql/
方式1:一般卸载方法停止服务:
方式2:使用安装包卸载:【推荐】
Windows:【可选】
MYSQL_HOME:
C:\Program Files\MySQL\MySQL Server 5.7
PATH:
追加 %MYSQL_HOME%\bin
编码配置:
注意:
核心文件:
文件夹名称 | 内容 |
---|---|
bin | 命令、程序文件 |
lib | 库文件 |
include | 头文件 |
share | 错误信息和字符集文件 |
通过cmd控制台连接数据库:
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>
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版本中新增的可以快速的了解元数据信息的系统库。便于发现数据库的多样信息,解决性能瓶颈问题。 |
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)
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)
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)
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)
select database();
mysql> #查看当前所使用的数据库
mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
use 数据库名;
mysql> #切换使用数据库
mysql> use java2308_db2;
Database changed
mysql> #查看当前所使用的数据库
mysql> select database();
+--------------+
| database() |
+--------------+
| java2308_db2 |
+--------------+
1 row in set (0.00 sec)
Navicat
SQLyog