MySQL 简介

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

什么是数据库?



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


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


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


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


  1. 数据以表格的形式出现


  1. 每行为各种记录名称


  1. 每列为记录名称所对应的数据域


  1. 许多的行和列组成一张表单


  1. 若干的表单组成 database


此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。


MySQL 版本



❑ 4——InnoDB引擎,增加事务处理、并、改进全文本搜索等的支持。


❑ 4.1——对函数库、子查询、集成帮助等的重要增加。


❑ 5——存储过程、触发器、游标、视图等。


常见操作


修改 MySQL 默认密码

# 修改密码安全策略为低(只校验密码长度,至少8位)。
set global validate_password_policy=0;  
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';


执行以下命令,授予 root 用户远程管理权限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234567';


退出数据库


  • exit


  • quit


  • control + C


登录 MySQL



最简写法

mysql


较完整写法

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


-h 主机名 如果是本机,可以省略


-u 指定密码,注意中间不能加空格


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


  • SHOW DATABASES;


  • SHOW TABLES;


  • SHOW COLUMNS FROM 数据表; 显示数据表的属性。


  • DESC(DESCRIBE) 数据表;


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


  • SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:



该命令将输出 MySQL 数据库管理系统的性能及统计信息。


示例:

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


MySQL 数据库操作


创建数据库

CREATE DATABASE <数据库名>;


删除数据库

DROP DATABASE <数据库名>;


选择 MySQL 数据库

USE <数据库名>;


为了获得一个数据库内的表的列表

SHOW TABLES ;


SHOW也可以用来显示表列:

show columns from customers;


它对每个字段返回一行,行中包含字段名、数据类型、是否允许 NULL、键信息、默认值以及其他信息。


DESCRIBE 语句 MySQL支持用 DESCRIBE 作为SHOW COLUMNS FROM的一种快捷方式。

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。


日期和时间类型


DATE - 格式:YYYY-MM-DD


TIME 时间值或持续时间


DATETIME - 格式:YYYY-MM-DD HH:MM:SS


TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS


YEAR - 格式:YYYY 或 YY


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


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


注意:如果 DATETIME 类型的值没有时间部分,默认时间为 00:00:00。时间日期比较可以用 = 号。


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


字符串类型


字符串类型指 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET。


字符串类型支持单引号和双引号包裹,建议用 单引号 包裹更加规范。


关于 char、varchar 与 text 的说明


这三种类型比较:


(1)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


参考



MySQL 简介 | 菜鸟教程


https://www.runoob.com/mysql/mysql-tutorial.html



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据库
Mysql基础第五天,Mysql简介
Mysql基础第五天,Mysql简介
29 0
Mysql基础第五天,Mysql简介
|
6月前
|
关系型数据库 MySQL 数据库
阿里云rds简介和如何使用
阿里云关系型数据库服务(RDS)是一种在云端提供的高可用性、可扩展、安全的关系型数据库服务。它支持多种数据库引擎,包括MySQL、PostgreSQL、Oracle等,并提供了丰富的监控、备份、恢复、容灾等功能,帮助企业快速构建和运维高可用、高性能的数据库系统。
1550 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
51 0
|
5月前
|
SQL 关系型数据库 MySQL
07 Django模型 - ORM简介及MySQL数据库的使用
07 Django模型 - ORM简介及MySQL数据库的使用
35 0
|
2月前
|
关系型数据库 MySQL Linux
MySQL技能完整学习列表2、MySQL简介和安装
MySQL技能完整学习列表2、MySQL简介和安装
34 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库免费客户端简介
MySQL数据库免费客户端简介
37 0
|
3月前
|
存储 关系型数据库 MySQL
MySQL索引简介(包含索引优化,索引失效,最左前缀简洁版)
MySQL索引简介(包含索引优化,索引失效,最左前缀简洁版)
36 0
|
4月前
|
SQL 关系型数据库 MySQL
|
6月前
|
NoSQL Cloud Native 关系型数据库
阿里云rds数据库简介和购买使用流程
阿里云rds数据库简介和购买使用流程
183 0
|
7月前
|
存储 关系型数据库 MySQL
数据库基础知识以及MySQL简介
数据库基础知识以及MySQL简介