Mysql基础:初识Mysql

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: Mysql基础:初识Mysql

运行软件:SQLyog - 64 bit & MySQL8.0

提示:以下是本篇文章正文内容,下面案例可供参考

一、Mysql是什么?

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

以上内容摘自百度百科的相关词条,初次接触MySQL的朋友可能会一脸困惑,别急,且听小生我为诸位拆解分析,逐一解释。

1.1 基本概念

  • 数据库是什么?

存储数据的地方

DB:数据库(Database)

就像Java中的list,set,map等集合,装着水的水缸等

  • 为什么要用数据库?

因为应用程序产生的数据是在内存中的,如果程序退出或者是断电了,则数据就会消失。

使用数据库是为了能够永久保存数据。当然这里指的是非内存数据库。

  • 用普通文件存储行不行?

把数据写入到硬盘上的文件中,当然可以实现持久化的目标,但是不利于后期的检索和管理等。

  • MySQL、Oracle、SqlServer是什么?

我们通常所说的 MySQL、它其实就是一种是数据库管理系统,即DBMS(Database Management

System),DBMS是一种操纵和管理数据库的大型软件,它可以实现建立、使用和维护数据库等功能。当然还有其他的DBMS,例如Oracle、SqlServer等。

  • SQL是什么?

SQL是结构化查询语言(Structure Query Language),专门用来操作/访问数据库的通用语言。

1.2 什么是关系型数据库?

MySQL、Oracle、SqlServer等都是关系型数据库管理系统。

关系型数据库,采用关系模型来组织数据,简单来说,关系模型指的就是二维表格模型。类似于Excel工作表。

如下图所示:

1.3 它有哪些优点?

  • 可移植性:MySQL数据库几乎支持所有的操作系统,如Linux、Solaris、FreeBSD、Mac和Windows。
  • 免费:MySQL的社区版完全免费,一般中小型网站的开发都选择 MySQL 作为网站数据库。
  • 开源:2000 年,MySQL公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源的世界。开源意味着可以让更多人审阅和贡献源代码,可以吸纳更多优秀人才的代码成果。
  • 关系型数据库:MySQL可以利用标准SQL语法进行查询和操作。

二、客户端演示

2.1 命令行工具

2.1.1 数据库

1、查看所有的数据库

show databases;

命令演示如下:

2、创建自己的数据库

create database 数据库名;
#创建0106db数据库
create database 0106db;

命令演示如下:

3、删除数据库

drop database 数据库名;
#删除0106db数据库
drop database 0106db;

命令演示如下:

4、使用自己的数据库

use 数据库名;
#使用0106db数据库
use 0106db;

命令演示如下:

说明:

如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)

使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。

2.1.2 数据表

1、查看某个库的所有表格

show tables;  #要求前面有use语句
show tables from 数据库名;

命令演示如下:

也可选中数据库,查看它的所有表

use 数据库名;

show tables;

命令演示如下:

2、创建新的表格

create table 表名称(
  字段名  数据类型,
  字段名 数据类型
);

说明:

如果是最后一个字段,后面就不用加逗号,因为逗号的作用是分割每个字段。

#创建学生表
create table student(
  id int,
    name varchar(20)  #说名字最长不超过20个字符
);

命令演示如下:

3、查看定义好的表结构

desc 表名称;
desc student;

命令演示如下:

4、添加一条记录

insert into 表名称 values(值列表);
#添加两条记录到stud表中
insert into stud values(1,'张三');
insert into stud values(2,'李四');

命令演示如下:

5、查看一个表的数据

select * from 表名称;

命令演示如下:

6、删除表

drop table 表名称;
#删除学生表
drop table stud;

命令演示如下:

3.1.3 导入数据

在命令行客户端登录mysql,使用source指令导入

mysql> source d:\练习脚本.sql

注意:

在使用命令行导入SQL脚本之前,请使用记事本或NotePad++等文本编辑器打开SQL脚本查看SQL脚本中是否有USE语句,如果没有,那么在命令行中需要先使用USE语句指定具体的数据库,否则会报“No database selected”的错误。

命令演示如下:

这里出现了一个问题:

原因分析:

cmd命令行终端的运行环境的编码格式为GBK,而导入的sql 脚本文件的编码格式为utf-8,编码与解码规则不一致,自然出现乱码。

解决方案:

2.1.4 导出数据

在命令行客户端不登录mysql,使用mysqldump命令。

mysqldump -u用戶名 -p密码 数据库名 > 脚本名.sql

mysqldump -u用戶名 -p密码 数据库名 表名 > 脚本名.sql

命令演示如下 :

2.2 可视化工具

以SQL yog举例:

2.2.1 数据库

①如何创建数据库?

②查看并更改数据库的属性

数据库创建成功之后,可以查看或修改数据库属性。选择“myDatabase”数据库,右键单击鼠标弹出快捷菜单,选择“改变数据库”菜单选项,就可以查看或修改数据库属性。

2.2.2 数据表

①创建数据表

填写数据表的相关字段,数据类型等属性时,记得点击“保存”按钮。

也可像修改数据库时,修改数据表的相关字段以及属性

②填写表数据

2.2.3 导入数据

注意:

在使用命令行导入SQL脚本之前,请使用记事本或NotePad++等文本编辑器打开SQL脚本查看SQL脚本中是否有USE语句。如果没有USE语句,在SQL图形界面工具中,需要先选中数据库,如果有USE语句,则自动导入对应的数据库

第1步,选中数据库,“例如myDatabase”,然后单击鼠标右键,在弹出的快捷菜单菜单中选择“导入”→“执行导入SQL脚本”的菜单选项。

第2步,弹出选择SQL脚本的“从一个文件执行查询”对话框,找到已经下载到本地的SQL脚本文件,然后选中“执行”按钮

第3步,确认要执行SQL脚本的数据库是否正确的数据库,如果正确就选择“是”,否则选择“否”。

第4步,导入成功。

第5步,查看导入的表。SQLyog的数据库对象导航区的空白处,右键单击选择“刷新”,可以看到新增的数据库和数据表等内容

2.2.4 导出数据

第一步:选择要导出的数据库。

第二步:设置sql转储

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
存储 SQL 关系型数据库
二、MySQL高级分享2
二、MySQL高级分享2
68 0
|
存储 关系型数据库 MySQL
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
974 0
|
SQL 关系型数据库 MySQL
【MySQL】 MySQL数据库基础
【MySQL】 MySQL数据库基础
|
15天前
|
存储 关系型数据库 MySQL
【MySQL精装典藏版】MySQL的安装与部署
【MySQL精装典藏版】MySQL的安装与部署
38 0
|
2月前
|
关系型数据库 MySQL 网络安全
阿里云安装Mysql
阿里云安装Mysql
162 1
|
2月前
|
存储 关系型数据库 MySQL
如何搭建MySQL
【8月更文挑战第16天】如何搭建MySQL
35 1
|
3月前
|
Java 关系型数据库 MySQL
JPA + MySQL 开发总结
JPA + MySQL 开发总结
59 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL决战:MySQL数据导入导出
MySQL决战:MySQL数据导入导出
|
5月前
|
弹性计算 关系型数据库 MySQL
离线安装MySQL5.7和MySQL8.0
【4月更文挑战第30天】
64 1
|
SQL 关系型数据库 MySQL
131.【MySQL_基础篇】(五)
131.【MySQL_基础篇】
79 0