5

MySQL-初识MySQL

 2 years ago
source link: https://blog.csdn.net/weixin_55752048/article/details/123383868
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一.数据库介绍

1.什么是数据库

我们都知道文件可以储存数据,那我们为什么要用数据库呢?

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器

数据库 的 存储介质有:

2.数据库的安装

安装MySQL和环境配置都较简单,这里笔者不再赘述,附下安装教程,有需要的朋友可以自取:

视频教程

文字教程

二.数据库的分类

1.关系型数据库

关系型数据库,即RDBMS,是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:

  1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
    统。收费。
  2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
  3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。

2.非关系型数据库

了解即可! 不规定基于SQL实现。现在更多是指NoSQL数据库,如:

  1. 基于键值对(Key-Value):如 memcached、redis
  2. 基于文档型:如 mongodb
  3. 基于列族:如 hbase
  4. 基于图型:如 neo4j

3.二者的区别

关系型数据库非关系型数据库使用SQL是不强制要求,一般不基于SQL实现事务支持支持不支持复杂操作支持不支持海量读写操作效率低效率高基本结构基于表和列,结构固定灵活性比较高使用场景业务方面的OLTP系统用于数据的缓存、或基于统计分析的OLAP系统

PS: OLTP(On-Line Transaction Processing)是指联机事务处理, OLAP(On-Line Analytical Processing)是指联机分析处理。

三.MySQL基本操作

一个MySQL服务器可以管理多个数据集合,每个数据集合都是一个数据库。

1.创建数据库

  • 创建一个名为test的数据库:

    create database test;
    
  • 如果系统没有 test1 的数据库,则创建一个名叫 test1 的数据库,如果有则不创建:

    create database if not exists test1;
    
  • 如果系统没有 test2 的数据库,则创建一个使用utf8mb4字符集的 test2 数据库,如果有则不创建

    create database if not exists test2 character set utf8mb4;
    

说明:MySQL的utf8编码不是真正的utf8,没有包含某些复杂的中文字符。MySQL真正的utf8是使用utf8mb4,建议大家都使用utf8mb4

2.显示数据库

show databases;

在这里插入图片描述

3.使用数据库

use 数据库名;

4.删除数据库

drop database [if exists]  数据库名;

注意! 数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

四.MySQL常用数据类型

1.数值类型

在这里插入图片描述
注意事项:

  • 数值类型可以指定为无符号(unsigned),表示不取负数
  • 1字节(bytes)= 8bit
  • 对于整型类型的范围:
    有符号范围:-2^(类型字节数*8)-12^(类型字节数*8-1)-1, 如int是4字节,就是-2^31 到 2^31-1
    无符号范围:02^(类型字节数*8)-1 ,如int就是 2^32-1

尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,所以与其如此,还不如设计时,将int类型提升为bigint类型。

2.字符串类型

在这里插入图片描述

3.日期类型

在这里插入图片描述

五.表的操作

操作数据库中的表的时候,要先使用该数据库,以我们刚开始创建的数据库test为例

use test;

1.创建表

create table table_name (
 field1 datatype,
 field2 datatype,
 field3 datatype
);

可以使用comment增加字段说明,示例:
在这里插入图片描述

2.查看表结构

请注意,是查看表结构,而不是查看表!

desc 表名;

就以我们刚刚创建的student表为例:
在这里插入图片描述

3.删除表

  • drop table 表名;
    
  • 如果存在某个表,则删除它

    drop table if exists 表名;
    

六.重点总结(必看)

  • 操作数据库

– 显示 show databases;
– 创建 create database xxx;
– 使用 use xxx;
– 删除 drop database xxx;

  • 常用数据类型

INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型

查看:
show 表名;

创建:
create table 表名(
字段1 类型1,
字段2 类型2,

);

删除:
drop table 表名;


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK