运行软件: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转储