Mysql安装以及使用

一、Mysql的安装与介绍

(一)概念与介绍
  • 数据库:存储数据的仓库。对数据进行存储,并且提供增、删、改、查的数据操作。

    数据库建模 使用数据库来表达业务和业务的关系,数据建模成功与否决定了项目 的成败。

  • 业务逻辑:实体业务之间的关系,比如:养殖场,猪和饲养员的关系。

  • 事物:是作为一个单元的一组有序的数据库操作,如果组当中所有操作都成功,则事务执行成功,如果有一个操作执行失败,则事务执行失败,回滚操作。

  • 事物的特性:原子性,一致性,隔离性,持久性  
       (1) 原子性:事务包含的所有操作全部成功,要么全部失败回滚;成功必须完全应 用到数据库,失败则不能不能对数据库产生影响。
       (2) 一致性:事务执行前和执行后必须处于一致状态。
       (3) 隔离性:当多用户并发访问数据库时候,数据库为每一个用户开启一个事务, 这个事务不被其他事务操作干扰,多个并发事务直接互相隔离。
       (4) 持久性:一旦事务被提交,对数据库当中的数据改变是永久性的,即便数据库系统发生故障,也不会丢失事务操作。

  • 事务的回滚:事务是用户定义的一组数据库操作。这些操作要么全做,要么全不做,回滚会自动是将该事务完成的操作撤销。

    数据库提供的四种隔离等级: 如果我们不考虑隔离性,会导致 ,脏读,不可重复读,换读。
     
        脏读:在一个事务处理的过程当中读取另一个没有提交的事务当中的数据,然后使用了数据。
    A向B转账100元,A通知B查看账户,B发现已经到账,转账操作过程当中,事务发生问题,进行回滚,B再查账发现没有成功。
      
        不可重复读:在一个事务之内,多次读取一条数据,这个事务没有结束,另一个事务也访问这个数据,第二个事务访问数据要对数据进行修改,那么一个数据两次事务读到的结果可能不一样。
        
        幻读:有两个事务,第一个操作所有的数据,第二个操作一条数据,第二个事务没有提交,第一个事务查看到的数据是之前的。
        
    以上问题是因为数据库没有隔离性
    隔离性的四个等级
       Read uncommited(读未提交),最低级别,任何情况都可以发生。
       Read commited(读已提交),可以避免脏读
       Repeatable read(可重复读),可以避免脏读,不可重复读的发生
       Serializable(串行化),可以避免脏读,不可重复读,幻读的发生
    数据库分类: 
    关系型数据库:是建立在在关系模型的基础上的数据库,借助集合,代数等数学概念和方法来处理数据。
    Oracle,db2,sqlserver,access,Mysql,sqlite 
     
    非关系型数据库(nosql not only sql):以key-value形式存储的文档数据库
    Redis、mongodb

(二)Mysql数据库的安装
  • Mysql引擎:数据库的引擎是用于存储,处理和保护数据的核心服务。利用数据库引擎可以控制访问权限并且快速的处理事务,利用数据库引擎创建连接事务处理。

  • MySQL数据库引擎分类  
        (1)ISAM 
        ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。 
        (2)MYISAM 
        MYISAM是MYSQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的功能,MYISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MYISAM还有一些有用的扩展,例如用来修复数据库文件的MYISAMCHK工具和用来恢复浪费空间的MYISAMPACK工具。
        MYISAM强调了快速读取操作,这可能就是为什么MYSQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。
        (3)HEAP
        HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。
        (4)INNODB和BERKLEYDB
        INNODB和BERKLEYDB(BDB)数据库引擎都是造就MYSQL灵活性的技术的直接产品,这项技术就是MYSQL++ API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MYISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MYISAM引擎慢很多,但是INNODB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

  • MySQL数据库的安装 
       Python开发使用mysql数据库5.5版本以上(django2.0之后放弃mysql5.5之前的支持),在mysql版本当中5.7之前的版本都有.exe或者.msi的可执行安装文件,但是到5.7版本只有zip压缩包安装方法。
       1、下载安装包
       Mysql官网:
        https://dev.mysql.com/downloads/
        在这里插入图片描述
        在这里插入图片描述
       在这里插入图片描述
         在这里插入图片描述
         在这里插入图片描述
       2.编写安装配置文件(在5.7之前有自带,后来没有了)
        1、解压,不要解压到c盘,不要解压到中文目录
            2、解压完成,进入目录,编写my.ini
              先创建my.txt,写入配置
              然后保存,并修改后缀
     
              在这里插入图片描述
      然后保存,并修改后缀 
      Mysql默认端口是3306
      Mysql默认编码是Latin1,我们需求修改为utf8                      
        在这里插入图片描述
       3、执行安装命令
       首先进入解压目录下的bin目录。开始命令行(要以管理员身份开启)。
       Shift+鼠标右键 -->在此处打开命令窗口
       
    在这里插入图片描述
       开始 -> cmd --> 右键 -->以管理员身份运行

在这里插入图片描述
   使用cd切换bin目录下
   执行安装命令mysqld install
   执行激活命令mysqld --initialize-insecure --user=mysql
   在这里插入图片描述
   执行成功
     在这里插入图片描述
    4、配置环境变量并启动
    配置环境变量
        在这里插入图片描述
      在这里插入图片描述
       在这里插入图片描述
      在这里插入图片描述
   开启数据库 
       在这里插入图片描述
      在这里插入图片描述
   效果如下:
   
     在这里插入图片描述
整个安装过程当中由于windows系统的环境确实导致安装失败,我们需要提前补充环境。
错误1:
    在这里插入图片描述
    Windows文件缺失,网上下载文件包:
      在这里插入图片描述
      在这里插入图片描述
      将这个文件复制到
       在这里插入图片描述
       错误2:Mysql配置文件有问题
       在这里插入图片描述
         在这里插入图片描述

[client]
port=3306
default-character-set=utf8
[mysqld]
basedir=D:\\mysql-5.7.26-winx64\\mysql-5.7.26-winx64
datadir=D:\\mysql-5.7.26-winx64\\mysql-5.7.26-winx64\\data
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
explicit_defaults_for_timestamp=true
skip-grant-tables

错误3驱动缺失
  
在这里插入图片描述
解决方案,下载DirectX Repair
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从新启动电脑。
错误3:Cmd不是管理员身份
在这里插入图片描述
错误4:路径错误
在这里插入图片描述
手动创建data目录
错误5:
在这里插入图片描述
1、服务没有启动
2、配置文件问题,对比配置文件,修改重启
3、之前有过mysql残余。
彻底删除mysql注册表
运行“regedit”文件,如图,打开注册表

删除注册表数据,通过regedit,删除以下几个文件【也可以在注册表里搜索mysql】:HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services一般服务会以相同的名字(名字通常是MySQL)在这里显
删除mysql服务
sc delete mysql
在这里插入图片描述

(三)Mysql数据库基本认识与操作

- 数据库的操作Mysql是一个数据库,但是我们安装的mysql数据库服务,服务就会有状态,启动,停止,重启。我们使用mysql必须保证mysql启动。
使用mysql数据库需要连接数据库
   Mysql -u -p -h
 -u 用户,默认有root用户,root用户是mysql数据库的管理员用户,拥有最高的权限。所以默认不允许远程登录root用户。
 -p 密码,用户对应的密码
 -h 主机,默认是localhost(127.0.0.1)代表本机
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
Mysql结构
 Mysql是数据库类型
   在mysql当中,存放的
   Database 数据库
   Table 表
   Field(column) 字段
   Value 值
 对比office的Excel来看
   —> Excel
   Database —> file
   Table —> Sheet
   Field —> 表头
   Value —> 数据
  Sql语法规则
   1、分号结尾
   2、所有sql文档,系统变量大写
   3、Mysql本身大小写不敏感
Mysql原生命令
  查询数据库:SHOW DATABASES;
  在这里插入图片描述
  创建数据库:CREATE DATABASE school CHARSET=UTF8;
在这里插入图片描述
  使用数据库:USE school
   在这里插入图片描述
   查看表:SHOW TABLES;
   在这里插入图片描述
   创建表:CREATE TABLE student(id INT,name CHAR(32),age INT,major CHAR(32),class CHAR(32), phone CHAR(32)) CHARSET=UTF8;
在这里插入图片描述
  创建表格式:CREATE TABLE tb_name(field FIELD_TYPE,) [CHARSET=UTF8];
  字段类型:
Int
  TINYINT 微整数 1个字节 -128-127
  SMALLINT 小整数 2个字节
  MEDIUMINT 中等整数 3个字节
  INT 整数 4个字节 -2147483648-2147483647
  BIGINT 大整数 8个字节
Float 4个字节
Char 字符
Varchar 字符
  Char和varchar 都需要指定长度,如果字符的长度不够char的长度,以空格填充,
  Varchar 按照字符的长度设定长度
  Char类型的字符串不可以用空格结尾
Date 3字节 1998-12-21
TIME 3字节 23:24:24
插入语句
查看表结构
: DESC student;

在这里插入图片描述
插入数据:INSERT INTO student(id,name,age,major,class,phone) VALUE(1,“老 边”,18,“python”,“0506”,“13331153360”);
Query OK, 1 row affected (0.01 sec)
在这里插入图片描述
查询数据库数据:SELECT 字段 FROM table_name;
所有字段可以用代替,在工作当中一般不允许用
在这里插入图片描述
SELECT * FROM student WHERE age=18;
在这里插入图片描述
修改数据:UPDATE student SET major=”java” WHERE name=”老李”;
在这里插入图片描述
**删除数据:**DELETE FROM student WHERE name=“老边”;
在这里插入图片描述
删除表和库:DROP TABLE(DATABASE) tableName(DBName);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值