【尚硅谷MySQL基础】:入门
一、为什么要学习数据库
01:课程引入
02:为什么要学习数据库
之前学习过的可以进行存储的容器:
- 数组
- 集合
- 数组和集合是把数据存储到内存中,缺点:易失性:一旦断电,内存中数据就会清空;
- 文件
- 文件的缺点:大量文件进行存储时,难以查询;
数据库的好处:
- 实现数据持久化到本地;
- 使用完整的管理系统统一管理,可以实现结构化查询,方便管理;
二、数据库的相关概念
03:数据库的相关概念
- DB:数据库(DataBase)
存储数据的容器,它保存了一系列有组织的数据。 - DBMS:数据库管理系统(DataBase Management System)
又称为数据库软件或数据库产品,用于创建或管理DB。MySQL属于其中一种。 - SQL:结构化查询语言(Structure Query Language)
用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言。
常见的数据库管理系统:
- MySQL:开源、广泛使用
- Oracle:安装贵、服务收费贵
- DB2:适合处理海量数据
- SqlServer:只能安装在Windows操作系统
SQL的优点:
- 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL;
- 简单易学;
- 虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
三、数据库存储数据的特点
04:数据库存储数据的特点
- 将数据放到表中,表再放到库中
- 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java中“类”的设计。
- 表由列组成,我们也称列为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性”
- 表中的数据是按行存储的,每一行类似于Java中的“对象”。
四、初始化MySQL
05:MySQL产品的介绍
06:MySQL产品的卸载
07:MySQL产品的安装
08:配置文件介绍
09:MySQL服务的启动和停止
10:MySQL服务的登录和退出
11:配置环境变量
05 ~ 11小结请参考我之前的文章:SQL简介及MySQL8.0的安装。
12:MySQL的常见命令
查看当前所有的数据库:show databases;
这是mysql自带的四个数据库,其中:
- information_schema:提供了访问数据库元数据的方式;
- mysql:存储数据库的用户、权限设置、关键字等;
- performance_schema:性能信息、性能参数
- sys:MySQL5.7之后引入。这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据,通过这个库可以快速的了解系统的元数据信息。
元数据是什么?
- 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。
MySQL8.0没有自带的test数据库了,可以自己创建一个:
创建数据库命令:create database 库名;
打开指定的库:use 库名;
- use命令、exit命令加不加分号都可以,但是个人习惯还是加上分号。
查看当前库中的所有表:show tables;
查看其它库的所有表:show tables from 库名;
但是现在我们还是处在test库的位置,没有切换到mysql库中。
- 那么怎么知道我们当前在哪个库中呢?
select database();
创建表:
- 注意最后一个字段后面没有逗号。
create table 表名(
列名 列类型,
列名 列类型,
··· ···
);
查看表结构:desc 表名;
显示表中的所有数据:select * from 表名;
13:查看MySQL服务端版本
方式一:登录到MySQL服务端:select version();
方式二:没有登录到MySQL服务端:mysql --version
或mysql -V
14:总结MySQL常见命令
查看所有的数据库:
show databases;
打开指定的库:use 库名
;
显示库中的所有表:show tables;
显示指定库中的所有表:show tables from 库名;
创建表:create table 表名(字段名 字段类型, 字段名 字段类型, ···);
查看指定表的结构:desc 表名;
显示表中的所有数据:select * from 表名;
SQL的语言分类
- DQL(Data Query Language):数据查询语言,如:select ;
- DML(Data Manipulate Language):数据操作语言,如:insert 、update、delete;
- DDL(Data Define Language):数据定义语言,如:create、drop、alter;
- TCL(Transaction Control Language):事务控制语言,如:commit、rollback。
15:MySQL语法规范介绍
- 不区分大小写,但建议关键字大写,表名、列名小写;
- 每条命令最好用分号结尾;
- 每条命令根据需要,可以进行缩进或换行;
- 注释:
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */
注释主要在图形化界面中使用,在命令行窗口中较少使用。
16:图形化用户界面客户端的安装
这里安装的是SQLyog 10.0.0版本。
17:图形化用户界面客户端的介绍
首先点击新建,创建一个新的连接:
设置信息,因为是连接本地主机所以SQL主机地址写localhost,密码是安装MySQL时设置的密码,端口也是安装时设置的端口。
MySQL8.0环境下SQLyog创建新连接时出现1251错误的解决办法
问题原因:MySQL8.0以前的加密规则与MySQL8.0以后的存在差异。
解决办法:
首先登录进MySQL服务,输入:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你设置的密码' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你设置的密码'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
这时再次进行创建新连接操作,正常运行。