Linux Windows MySQL安装 MySQL概述

Linux

如果在Ubuntu18.04版本下,如果直接输入:
sudo apt install mysql-server
会默认安装MySQLl5.7版本,安装过程并没有提示输入密码,安装完成后也无法正常登录。
这是因为MySQL为Ubuntu18.04提供了新版本MySQL8.0.
MySQL5.7版本最高只适配到Ubuntu17.04,而MySQL8.0最高适配到Ubuntu18.04

完全卸载MySQL方法

先依次执行下面的语句:
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
dpkg --list|grep mysql  查看mysql的依赖项
卸载命令:sudo apt-get remove mysql-common
卸载命令:sudo apt-get autoremove --purge mysql-server-8.0
清除残留数据,运行命令:dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P

如果出现以下错误,证明你的系统中没有残留配置文件了,无须担心

⦁ 更新软件源

更新软件列表:sudo apt-get update
更新软件包:sudo apt-get upgrade

下载

在MySQL官网下载8.0版本的deb文件
打开MySQL官方下载网址:
MySQL官方下载地址:https://dev.mysql.com/downloads/
找到MySQL Community Server
选择Ubuntu Linux,根据你自己的Ubuntu版本和位数选择版本(我的版本是18.04 64位)
点击下面的企鹅,跳转到apt下载MySQL的专栏网页(官方强烈推荐使用包管理工具安装)
点击download下载,选择No thanks,just start my download

⦁ 开始安装

创建一个文件家摆放刚刚下载好的deb文件,然后使用chmod命令改变文件夹权限
输入命令sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
会弹出窗口,默认ok即可(因为我们这里默认版本是8.0,无需修改)
重新更新软件库

更新软件列表:sudo apt-get update
输入命令安装:sudo apt-get install mysql-server

安装过程中会弹出窗口要求输入root用户下的密码,输入两次
选择加密方式是建议选择第二项(听说原因是Ubuntu18.04终端不支持新的加密方式)
出现这样就代表安装成功
验证
输入mysql -u root -p,输入密码后出现以下界面代表安装成功

⦁ MySQL环境配置

和jdk、hadoop配置放在一起

	>> sudo vi .bashrc

在文件的最后,加上下面两行:

      export MYSQL_HOME=/etc/mysql
      export PATH=$PATH:$MYSQL_HOME/bin

保存并关闭文件,执行以下命令使得环境变量生效:

	>>source .bashrc
⦁ 设置远程权限访问

选中数据库

	use mysql;
	update user set host = '%' where user = 'root' and host = 'localhost';
	GRANT ALL ON *.* TO 'root'@'%';
	flush privileges;

Windows

我用的Windows10

卸载

  1. 在 设置 —> 应用 —> 应用与功能 中,删除 MySQL Server
  2. 删除其中的Data目录(存放数据库信息)
    • 默认路径:C:\ProgramData\MySQL\MySQL Server 8.0\Data

安装

  • 退出关闭杀毒软件,关闭防火墙。否则可能安装失败

  • MySQL Installer

    1. 选择 Add

      右侧四个:Add… Modify… Update… Remove…

    2. 将左侧的 MySQL Server 8.0.11- x64 移动到右侧

      Select Products and Features中,将左侧 Available Products: 中的 MySQL Servers —> MySQL Server —> MySQL Server 8.0.11- x64 通过 中间的 箭头 移动到 右侧 Products / Features To Be Installed 中,点击 Next

    3. 选择 Excute

      在 Installation 中选择执行,会自动联网下载

    4. 一直下一步

    • Type and Networking

      选择 Show Advanced Options,会自动检测路径中是否有中文乱码

    • Advanced Options

      File Path 中不要出现乱码,否则可能会安装失败

      解决:将用户名改为英文

配置

  • 不配置也可以,配置是为了从命令行操作

  • 将 MySQL Server 8.0 的 bin 目录的路径添加到系统环境变量的 path 中去

    默认路径:C:\Program Files\MySQL\MySQL Server 8.0\bin

启动、关闭

  • 第一种方式
    1. 打开 服务
      • 通过 win + R ,输入 services.msc 打开 服务
      • 通过 使用右键点击左下角Windows徽标 打开 计算机管理,在 服务和应用程序 中找到 服务,点击打开
    2. 找到 MySQL80
    3. 右键进行 启动 / 停止 / 暂停 / 重启
  • 第二种方式
    1. 管理员身份进入 命令行
    2. 启动 MySQL 服务:net start MySQL80
    3. 关闭 MySQL 服务:net stop MySQL80

命令行连接MySQL

  1. mysql -u 用户名 -p 密码

    使用指定用户名和密码登录当前计算机中的 MySQL 数据库

    mysql -uroot -p123456

  2. mysql -h 主机IP -u 用户名 -p 密码

    -h 指定 IP 方式,进行 登录

    mysql -h127.0.0.1 -uroot -p123456

  3. 退出

    exit 或者 quit

MySQL 概述

MySQL 的目录结构

  • 安装目录:C:\Program Files\MySQL\MySQL Server 8.0

    • bin :放置一些可执行文件
    • docs :文档
    • include :包含(头)文件
    • lib :依赖库
    • share :用于存放字符集、语言等信息
  • MySQL 配置文件与数据库及数据表所在目录:C:\ProgramData\MySQL\MySQL Server 8.0

    • my.ini 文件是 MySQL 的配置文件,一般不建议去修改

    • Data 是 MySQL 管理的数据库文件所在的目录

      data 目录中保存的就是数据库(文件夹)与数据表(文件)的信息

  • 数据库:文件夹

    表:文件

    数据:文件中的记录

数据库管理系统

  • 简称 DBMS(DataBase Management System)

  • 指一种操作和管理维护数据库的大型软件

  • MySQL 就是一个 数据库管理系统软件,安装了 MySQL 的电脑,我们叫它数据库服务器

  • 作用:用于建立、使用和维护数据库,对数据库进行统一的管理

  • 与数据库、表之间的关系

    MySQL 中管理着很多数据库,在实际开发环境中一个数据库一般对应了一个应用,数据库当中保存着多张表,每一张表对应着不同的业务,表中保存着对应业务的数据

数据库表

  • 数据库中以表为组织单位存储数据
  • 表类似 Java 中的类,每个字段都有对应的数据类型

SQL

  • 概念

    1. SQL 是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
    2. 作用
      • 所有关系型数据库的统一查询规范,不同的关系型数据库都支持 SQL
      • 所有的关系型数据库都可以使用 SQL
      • 不同数据库之间的 SQL 有一些区别
  • 通用语法

    1. SQL 语法可以单行 或者 多行书写,以分号结尾;(Sqlyog中可以不用写分号)

    2. 可以使用空格和缩进来增加语句的可读性

    3. MySQL 中使用 SQL 不区分大小写,一般关键字大写,数据库名、表名、列名小写

    4. 注释

      -- (双减号加空格):单行注释
      
      /* */(注释写在中间):多行注释,和 Java 相似
      
      # (#加空格):MySQL 特有的单行注释
      
  • 分类

    1. 数据定义语言:简称 DDL(Data Definition Language)

      ​ 用来定义数据库对象:数据库,表,列等

    2. 数据操作语言:简称 DML(Data Manipulation Language)

      ​ 用来对数据库中表的记录进行更新

    3. 数据查询语言:简称 DQL(Data Query Language)

      ​ 用来查询数据库中表的记录

    4. 数据控制语言:简称 DCL(Data Control Language)

      ​ 用来定义数据库的访问权限和安全级别,及创建用户

DDL

操作数据库

创建数据库
  • 创建指定名称的数据库

    create database 数据库名;

  • 创建指定名称的数据库,并且指定字符集(一般指定 utf-8 / utf8)

    create database 数据库名 character set 字符集;

查看 / 选择 数据库
  • 切换数据库

    use 数据库;

  • 查看当前正在使用的数据库

    select database();

  • 查看 MySQL 中有哪些数据库

    show databases;

  • 查看一个数据库的定义信息

    show create database 数据库名;

修改数据库
  • 数据库的字符集修改操作

    alter database 数据库名 charactor set 字符集;

删除数据库
  • 从 MySQL 中永久的删除某个数据库

    drop database 数据库名

操作数据表

创建表
  • 语法结构

    create table 表名(

    ​ 字段名称1 字段类型(长度),

    ​ 字段名称 字段类型

    ​ 最后一列不加逗号

  • 复制表结构

    create table 新表名 like 旧表名;

查看表
  • 查看当前数据库中的所有表名

    show tables;

  • 查看数据表的结构

    desc 表名;

删除表
  • 删除表(从数据库中永久删除某一张表)

    drop table 表名;

  • 判断表是否存在,存在的话就删除,不存在就不执行删除

    drop table if exists 表名;

修改表
  • 修改表名

    rename table 旧表名 to 新表名

  • 修改表的字符集

    alter table 表名 character set 字符集;

  • 向表中添加列

    alter table 表名 add 字段名称 字段类型

  • 修改表中列的数据类型或长度

    alter table 表名 modify 字段名称 字段类型

  • 修改列名称

    alter table 表名 change 旧列名 新列名 类型(长度);

  • 删除列

    alter table 表名 drop 列名;

DML

插入数据

  • 插入全部字段,将所有字段名写出

    insert into 表名(字段名1,字段名2 … )values(字段值1,字段值2 … );

  • 插入全部字段,不写字段名

    insert into 表名 values (字段值1,字段值2 … );

  • 插入指定字段的值

    insert into 表名(列名) values (字段对应值);

  • 注意

    • 值与字段必须要对应,个数相同 & 数据类型相同
    • 值的数据大小,必须在字段指定的长度范围内
    • varcharchardate类型的值,必须使用单引号或者双引号包裹
    • 如果要插入空值,可以忽略不写,或者插入 null
    • 如果插入指定字段的值,必须要写上列名

更改数据

  • 不带条件的修改

    update 表名 set 列名 = 值;

  • 带条件的修改

    update 表名 set 列名 = 值 [where 条件表达式];

    ​ 条件表达式:字段名 = 值

    ​ []:中括号中的内容可有可无

删除数据

  • 删除所有数据

    不推荐,有多少条记录,就执行多少次删除操作,效率低

    delete from 表名;

    推荐,先删除整张表,然后再重新创建一张一模一样的表,效率高

    truncate table 表名;

  • 指定条件删除数据

    delete from 表名 [where 字段名 = 值]

DQL

简单查询

  • 查询表中所有数据

    select * from 表名;

  • 查询表中的所有记录,仅显示 id 和 name 字段

    select 列名1,列名2 . . . from 表名;

  • 将列名改为别名

    select 列名1 as ‘别名名称’ ,列名2 as 别名名称 . . . from 表名;

  • 去重

    select distinct 列名 from 表名;

  • 运算查询

    select 列名 ±*/ 数值 from 表名

条件查询

  • 语法格式

    select 列名 from 表名 where 条件表达式;

  • 运算符

    1. 比较运算符

      >:大于 >=:大于等于 <:小于 <=:小于等于

      =:等于 <>:不等于 !=:不等于

    2. 逻辑运算符

      And &&:多个条件同时成立

      Or ||:多个条件任一成立

      Not:不成立,取反

模糊查询 通配符

  • 通配符

    %:表示匹配任意多个字符串

    _:表示匹配一个字符串

  • 模糊查询

    select * from 表名 where 列名 like ‘通配符表示’;

说明

因为是之前的记录,从文档里面复制过来的。
所以没有记录参考链接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值