MySql教程

MySQL学习基础Day1

本文主要是介绍MySQL学习基础Day1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 前言
    • 一、如何使用MySQL?
        • 1、使用普通cmd命令行使用net命令启动以及停止MySQL后台服务器
        • 2、使用管理员SYSTEM32命令行使用net命令启动以及停止MySQL后台服务器
        • 3、Windows服务应用管理后台开启server服务
        • 4、Windows命令行cmd登录server服务端
    • 二、MySQL语言类别分类
        • 1、MySQL四大类别语言
        • 2、MySQL三大范式
        • 3、MySQL(ACID)特性
    • 三、MySQL 常见的命令
    • 四、MySQL 语法规范使用
    • 五、数据库的好处
    • 六、数据库的常见概念
    • 七、数据库存储数据的特点
    • 八、常见的数据库管理系统
  • 总结

前言

  • 下面这一篇文章是配置MySQL的图文教程,作者是下载的是以msi文件格式安装,仅供各位小伙伴们参考
    MySQL配置链接

一、如何使用MySQL?

1、使用普通cmd命令行使用net命令启动以及停止MySQL后台服务器

C:\Users\admin>net start 服务器的名字			/*例如:80版本,57版本*/

C:\Users\admin>net stop  服务器的名字			/*例如:80版本,57版本*/

在这里插入图片描述

  • 当然,有的时候在个人的用户下无法启动MySQL的时候该怎么办?

2、使用管理员SYSTEM32命令行使用net命令启动以及停止MySQL后台服务器

C:\WINDOWS\system32\net start 服务器的名字			/*例如:80版本,57版本*/

C:\WINDOWS\system32\net stop 服务器的名字			/*例如:80版本,57版本*/

在这里插入图片描述
在这里插入图片描述

3、Windows服务应用管理后台开启server服务

  1. 计算机——右击——管理——服务(打开之后就是上面的截图右边的服务管理界面)
    在这里插入图片描述

4、Windows命令行cmd登录server服务端

  1. 登录:
mysql 【-h 主机名 -P 端口号】 -u 用户名 -p密码
  1. 退出:
exit或ctrl+C

二、MySQL语言类别分类

1、MySQL四大类别语言

  • DQL(Data Query Language):数据查询语言 :select
  • DML(Data Manipulate Language):数据操作语言 :insert 、update、delete
  • DDL(Data Define Languge):数据定义语言: create、drop、alter
  • TCL(Transaction Control Language):事务控制语言: commit、rollback

2、MySQL三大范式

  1. 1NF:字段不可分;原子性,字段不可再分,否则就不上关系数据库
  • 即表的列具有原子性,不可再分割,即列的信息,不能分解,只要数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server)就自动的满足1NF。数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项,如果实体中的某个属性有多个值时,必须拆分为不同的属性 。通俗理解即一个字段只存储一项信息。
  1. 2NF:有主键,非主键字段依赖主键;唯一性,一个表只说明一个事物
  • 第二范式是在第一范式的基础上建立起来的,即满足第二范式一定满足第一范式。第二范式要求数据库表中的每个实例或行必须可以被唯一区分。为实现区分通常需要我们设计一个主键来实现(这里的主键不包含业务逻辑)。
    即满足第一范式前提,当存在多个主键的时候,才会发生不符合第二范式的情况。比如有两个主键,不能存在这样的属性,它只依赖于其中一个主键,这就是不符合第二范式。通俗理解是任意一个字段都只依赖表中的同一个字段。(涉及到表的拆分)
  1. 3NF:非主键字段不能相互依赖;每列都与主键有直接关系,不存在传递依赖
  • 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主键字段。就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放(能尽量外键join就用外键join)。很多时候,我们为了满足第三范式往往会把一张表分成多张表。
    即满足第二范式前提,如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。 通俗解释就是一张表最多只存两层同类型信息。

在这里插入图片描述

3、MySQL(ACID)特性

  • 数据库管理系统中事务(transaction)的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
    所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。(执行单个逻辑功能的一组指令或操作称为事务)
  1. 原子性(Atomicity)
  • 原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
    可采用“A向B转账”这个例子来说明解释,在DBMS中,默认情况下一条SQL就是一个单独事务,
    事务是自动提交的。只有显式的使用start transaction开启一个事务,才能将一个代码块放在事务中执行。
  1. 一致性(Consistency)
  • 一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
    如A给B转账,不论转账的事务操作是否成功,其两者的存款总额不变(这是业务逻辑的一致性,至于数据库关系约束的完整性就更好理解了)。
    保障机制(也从两方面着手):数据库层面会在一个事务执行之前和之后,数据会符合你设置的约束(唯一约束,外键约束,check约束等)和触发器设置;此外,数据库的内部数据结构(如 B 树索引或双向链表)都必须是正确的。业务的一致性一般由开发人员进行保证,亦可转移至数据库层面。
  1. 隔离性(Isolation)
  • 隔离性是指多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
    在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。
    事务最复杂问题都是由事务隔离性引起的。完全的隔离性是不现实的,完全的隔离性要求数据库同一时间只执行一条事务,这样会严重影响性能。
  1. 持久性(Durability)
  • 持久性是指在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。(完成的事务是系统永久的部分,对系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持)
    write ahead logging:SQL Server中使用了WAL(Write-Ahead Logging)技术来保证事务日志的ACID特性,在数据写入到数据库之前,先写入到日志,再将日志记录变更到存储器中。

三、MySQL 常见的命令

1.查看当前所有的数据库

show databases;

2.打开指定的库

use 库名;

3.查看当前库的所有表

show tables;

4.查看其它库的所有表

show tables from 库名;

5.创建表

 create table 表名( 列名 列类型, 列名 列类型,列名 列类型 );

6.查看表结构

 desc 表名;

7.创建数据库

crate database employees charset=utf8;

8.删除数据库

drop database employees;

9.增加

insert into 表名(列类型1,列类型2,列类型3) values ('字段1','字段2','字段3');

10.删除

delete from 表名 【where 筛选条件】【limit 条目数】
delete 别名1,别名2 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 【where 筛选条件】
truncate table 表名

11.修改

-- 修改单表
update 表名 set 字段=值,字段=值 【where 筛选条件】;
--修改多表
update 表1 别名 left|right|inner join 表2 别名 on 连接条件  set 字段=值,字段=值 【where 筛选条件】;

12.查询

select 查询列表 from 表名;
1、查询单个字段
select 字段名 from 表名;
2、查询多个字段
select 字段名,字段名 from 表名;
3、查询所有字段
select * from 表名;

13.模糊查询

select like %张%

14.去重

select distinct 字段名 from 表名;

四、MySQL 语法规范使用

1.不区分大小写,但建议关键字大写,表名、列名小写
2.每条命令最好用分号结尾;
3.每条命令根据需要,可以进行缩进 或换行
4.注释
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */

五、数据库的好处

1、可以持久化数据到本地
2、结构化查询

六、数据库的常见概念

1、DB:数据库,存储数据的容器
2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB
3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言

七、数据库存储数据的特点

1、数据存放到表中,然后表再放到库中
2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己
3、表中有一个或多个列,列又称为“字段”,相当于java中“属性”
4、表中的每一行数据,相当于java中“对象”

八、常见的数据库管理系统

mysql、oracle、db2、sqlserver

总结

这里对文章进行总结:
如果有问题请联系作者,私信+评论+QQ任选其一
作者QQ号码:2423095292
作者Email:
2423095292@qq.com
j2423095292@163.com

这篇关于MySQL学习基础Day1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!