Mysql基础:初识Mysql

本文涉及的产品
RDSClaw,2核4GB
PolarClaw,2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 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转储

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
分布式计算 Ubuntu Hadoop
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)
|
XML 移动开发 JavaScript
js中BOM和DOM总结(基础篇)
文章总结了JavaScript的BOM和DOM知识点,包括window、screen、location、history、navigator对象,以及消息框、计时器和cookie。同时,介绍了DOM的概念、节点获取和修改方法,以及事件处理。
js中BOM和DOM总结(基础篇)
|
jenkins 持续交付 Docker
docker版下载最新稳定版本的jenkins
docker版下载最新稳定版本的jenkins
973 0
|
存储 弹性计算 监控
nacos常见问题之有一台服务端CPU飙到700%多如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1910 1
|
canal 缓存 关系型数据库
Canal解决Redis与mysql缓存一致性问题
Canal解决Redis与mysql缓存一致性问题
1781 0
|
缓存 前端开发 JavaScript
若依框架中的权限控制逻辑 ---- 菜单
若依框架中的权限控制逻辑 ---- 菜单
1755 0
|
缓存 JavaScript Java
超级详细的Vue安装与配置教程
超级详细的Vue安装与配置教程
3472 0
|
SQL 前端开发 Java
Java的学习路线(非常完整)
Java的学习路线(非常完整)
9242 3
Java的学习路线(非常完整)
|
SQL 监控 关系型数据库
【MYSQL高级】Mysql找出执行慢的SQL【慢查询日志使用与分析】
【MYSQL高级】Mysql找出执行慢的SQL【慢查询日志使用与分析】
6238 0
|
存储 Java C++
JVM内存模型和结构详解(五大模型图解)
JVM内存模型和结构详解(五大模型图解)

热门文章

最新文章

下一篇
开通oss服务