美文网首页
MySQL 介绍

MySQL 介绍

作者: acc8226 | 来源:发表于2020-03-07 00:18 被阅读0次

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database

此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

yum install mariadb-server mariadb

数据库的安装

所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。

linux 下 mysql的安装

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server

权限设置:
chown mysql:mysql -R /var/lib/mysql

初始化 MySQL:
mysqld --initialize

启动 MySQL:
systemctl start mysqld

查看 MySQL 运行状态:
systemctl status mysqld

登录 MySQL

mysql -h 主机名 -u 用户名 -p

-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

SHOW DATABASES;

SHOW TABLES;

SHOW COLUMNS FROM 数据表;
DESC 数据表;

SHOW INDEX FROM 数据表:
显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:
该命令将输出Mysql数据库管理系统的性能及统计信息。

mysql> SHOW TABLE STATUS  FROM RUNOOB;   # 显示数据库 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';     # 表名以runoob开头的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G;   # 加上 \G,查询结果按列打印

EXIT
QUIT
退出登录

MySQL 创建数据库

CREATE DATABASE 数据库名;

drop database <数据库名>;

use <数据库名>;
选择MySQL数据库

MySQL 数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

关于 char、varchar 与 text 平时没有太在意,一般来说,可能现在大家都是用 varchar。但是当要存储的内容比较大时,究竟是选择 varchar 还是 text 呢?

这三种类型比较:
(1)char: char 不用多说了,它是定长格式的,但是长度范围是 0~255. 当你想要储存一个长度不足 255 的字符时,Mysql 会用空格来填充剩下的字符。因此在读取数据时,char 类型的数据要进行处理,把后面的空格去除。
(2)varchar: 关于 varchar,有的说最大长度是 255,也有的说是 65535,查阅很多资料后发现是这样的:varchar 类型在 5.0.3 以下的版本中的最大长度限制为 255,而在 5.0.3 及以上的版本中,varchar 数据类型的长度支持到了 65535,也就是说可以存放 65532 个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在 5.0.3 以下版本中需要使用固定的 TEXT 或 BLOB 格式存放的数据可以在高版本中使用可变长的 varchar 来存放,这样就能有效的减少数据库文件的大小。
(3)text: 与 char 和 varchar 不同的是,text 不可以有默认值,其最大长度是 2 的 16 次方-1
总结起来,有几点:

经常变化的字段用 varchar
知道固定长度的用 char
尽量用 varchar
超过 255 字符的只能用 varchar 或者 text
能用 varchar 的地方不用 text

数据类型的一些说明

字符串类型建议用 单引号 包裹

date 和 datetime在插入的时候可以用NOW() 函数

推荐资源

Java学习路线-黑马程序员
https://edu.aliyun.com/roadmap/java

相关文章

  • 部署LAMP发布使用PHP语言开发的网站之MySQL安装

    mysql 安装 mysql介绍 mysql安装 mysql启动 mysql测试 一、MySQL介绍 瑞典AB公司...

  • MySQL高级

    MySQL的架构介绍MySQL的架构介绍MySQL简介 MySQL Linux版的安装MySQL 配置文件MySQ...

  • MySQL介绍

    mysql介绍 其他数据库介绍 mysql特点 mysql存储引擎类型及特点 关于mysql单表存储 mysql介...

  • Mysql 搭建手册

    Mysql安装 介绍 安装方法有很多这里我介绍两种,1、yum 安装mysql;2、手动安装mysql Mysql...

  • LAMP架构介绍、MySQL介绍、MariaDB介绍、MySQL

    目录 一、 LAMP架构介绍二、 MySQL、MariaDB介绍三、 MySQL安装 一、 LAMP架构介绍 LA...

  • lamp架构(一)——简介与mysql安装

    11.1 LAMP架构介绍11.2 MySQL、MariaDB介绍11.3/11.4/11.5 MySQL安装 L...

  • mysql学习笔记(更新中).md

    mysql初级学习笔记.md 标签(空格分隔): mysql mysql初级 mysql介绍 DB:databas...

  • MySQL介绍

    Mysql数据库是一种C/S结构的软件:客户端/服务端,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要...

  • MySQL介绍

    Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Da...

  • MYSQL 介绍

    定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合。 数据库实例:MySQL 数据库由后台线程以及...

网友评论

      本文标题:MySQL 介绍

      本文链接:https://www.haomeiwen.com/subject/iqkwrhtx.html