搜索

MySQL


发布时间: 2022-11-24 21:38:00    浏览次数:41 次

MySQL

  1. 什么是MySQL?
    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

  2. MySQL的本质
    mysql本质就是一个基于socket编写的C/S架构的软件
    客户端软件
      mysql自带:如mysql命令,mysqldump命令等
      python模块:如pymysql

  3. MySQL的特点与优势

    1. MySQL 是开放源代码的数据库
      MySQL 是一款可以自由使用的数据库。MySQL 是开放源代码的数据库,任何人都可以获取该数据库的源代码。

    2. MySQL 的跨平台性

    MySQL 不仅可以在 Windows 系列的操作系统上运行,还可以在 UNIX、Linux 和 Mac OS 等操作系统上运行。因为很多网站都选择 UNIX、Linux 作为网站的服务器,所以 MySQL 的跨平台性保证了其在 Web 应用方面的优势。虽然微软公司的 SQL Server 数据库是一款很优秀的商业数据库,但是其只能在 Windows 系列的操作系统上运行。因此,MySQL 数据库的跨平台性是一个很大的优势。

    1. 功能强大且使用方便

    ​ MySQL 是一个真正的多用户、 多线程 SQL 数据库服务器。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。

MySQL简介

  1. 版本问题
8.0 :最新版>>>苹果电脑推荐最新版
5.7	:使用频率最高
5.6 :学习推荐使用
站在开发的角度使用哪个版本学习都没有关系
  1. MySQL下载与使用

    1. 1 访问官网

      https://www.mysql.com/
      image

    2. 2 点击DOWNLOADS并点击GPL

      image

    3. 3 点击community server (选择社区版本--免费)

      image

    4. 4 点击Archives,选择下载的版本号

      image

    5. 5 选择对应系统的对应版本下载即可(zip压缩包)

      image

    6. 6 下载到D跟路径下,为了后续查找方便

    7. 7 添加环境变量

      image

  2. 主要目录介绍

    1. 1 bin 存放启动文件 mysqld.exe(服务端) mysql.exe(客户端)

    2. 2 data目录 存放核心数据

    3. 3 my-default.ini 默认的配置文件

    4. 4 readme 软件说明

MySQL基本使用

​ 所有在cmd端打开MySQL,建议使用管理员身份打开。

  1. 登录服务端和客户端

    1. 切换到mysql的bin目录下先启动服务端
         mysqld
    2. 保持窗口不关闭 重新打开一个新的cmd窗口
    3. 切换到mysql的bin目录下启动客户端
        mysql
    4. 第一次以管理员身份登录是没有密码的 直接回车即可
    	mysql  -uroot -p
    5. 直接使用mysql命令默认的游客模式,权限和功能都很少
    	mysql -u用户名 -p密码
    

    登录页面如下:

    打开客户端mysql和服务端mysqld

    image

    游客登录和管理员登录的权限不同:

    image

  2. 结束符

    MySQL的SQL语句都是以分号作为结束符;
    
  3. 查看当前所有的库名称

    show databases;
    
  4. 取消之前的命令

    \c # 或者直接运行报错
    
  5. 退出客户端

    exit;
    quit;
    

遇到电脑启动服务算就报错的情况,如何解决?

​ 拷贝报错信息,然后百度搜索“mysql启动 + 报错粘贴错误信息 ”

系统服务的制作

  1. 先把bin目录添加到环境变量
    清空之前打开的cmd窗口,一定要把之前用cmd启动的服务端关闭(ctrl+c)

  2. 将mysql添加到系统服务中(开启自启动)

    1. 1 如何查看系统服务

      ​ 鼠标右键任务栏选择服务

      cmd输入services.msc回车
      
    2. 2 以管理员身份打开cmd窗口

      mysqld --install
      

      image

  3. 启动服务(首次添加不会自动启动,需要自己启动)

    1. 1 鼠标右键点击启动

    2. 2 命令行启动

      net start mysql
      
  4. 如果想卸载重新安装

    1. 1 先关闭服务端

      net  stop  mysql
      
    2. 2 移除系统服务

      mysqld --remove
      
  5. 查看计算机运行程序数

    services.mac
    

image

密码相关操作

  1. 修改密码

    1. 1 方式一:直接在cmd窗口内借助于mysqladmin命令

      mysqladmin -u用户名 -p原密码 password 新密码
      
    2. 2 方式二:直接修改存储用户数据的表

    3. 3 方式三:冷门操作,有些版本可能还不支持

      set password=password('新密码')  # 修改当前登录用户的密码
      
  2. 忘记密码

    1. 1 方式一:卸载重装

    2. 2 方式二:把data目录删除,拷贝同桌的目录

    3. 3 方式三:小把戏操作

      2.3.1 关闭正常的服务端mysql

      net stop mysql
      

      2.3.2 以跳过授权表的方式重启服务端(不校验密码)

      mysqld --skip-grant-table
      
      重新打开一个cmd
      mysql -uroot -p # 验证密码直接回车
      查看当前数据库(存储密码表)
      select * from mysql.user\G;
      

      2.3.3 以管理员身份进入然后修改mysql.user表数据即可

      mysql -uroot -p
      update mysql.user set password=password('123') where Host= 'localhost' and User='root';
      
      update mysql.user set password=password(123) where user="root" and host="localhost"; # 修改对应用户的密码
      

      2.3.4 关闭服务器,然后以正常方式启动即可

      exit;
      

      2.3.5 密码修改成功以正常方式启动

      net start mysql # 管理员启动
      

SQL与noSQL

引入SQL语句

  1. 什么是SQL语句?

    就是操作数据库软件的命令
    
  2. 为什么要有SQL语句?

    1.是因为数据库能够支持的语言非常的多 为了避免识别问题 
    发明了SQL语句 规定只要想使用数据库就统一使用SQL语句操作
    
    2.数据库的服务端为了能够兼容不同类型的客户端实现数据交互
    所以规定了统一的交互方式
    	关系型数据库>>>:SQL语句
     	非关系型数据库>>>:NoSQL语句
    

    ​ 数据库服务端是可以服务多种类型的客户端,客户端可以是自己开发的,也可以是python代码编写,也可以是java代码编写。

SQL

​ 操作关系型数据库的语言。有时SQL也称关系型数据库。

NoSQL

​ 操作非关系型数据库的语言。有时NoSQL也称非关系型数据库。

常见基本SQL造句

  1. SQL语句必须以分号结尾
  2. SQL语句编写错误之后,可以直接执行报错即可
   查看所有的库
	show databases;
   查看所有的表名称
	show tables;
   查看所有的记录
	select * from mysql.user;

基本的增删改查

  1. 基于库的增删改查

    1.创建库
    	create database 库名;
    2.查看库
    	show databases;  # 查看所有的库名称
    	show create database 库名;  # 查看指定库信息
    3.编辑库
    	alter database 库名 charset='utf8';
    4.删除库
    	drop database 库名;
    
  2. 基于表的增删改查

    操作表之前需要先确定库
    	create database db1;
    切换操作库
    	use db1
    	
    1.创建表
    	create table 表名(字段名 字段类型,字段名 字段类型);
    	
    2.查看表
    	show tables;  # 查看库下所有的表名称
    	show create table 表名;  # 查看指定表信息
    	describe 表名;  # 查看表结构
    	desc 表名;
    	
    	如果想跨库操作其他表,只需要在表名前加库名
    		desc mysql.user;
    		
    3.编辑表
    	alter table 表名 rename 新表名;
    4.删除表
    	drop table 表;
    
  3. 基于记录的增删改查

    1.插入数据
    	insert into 表名 values(数据值1,数据值2);
    	
    2.查询数据
    	select * from 表名;  # 查询表中所有的数据
    3.编辑数据
    	update 表名 set 字段名=新数据 where 筛选条件;
    4.删除数据
    	delete from 表名;
    	delete from 表名 where id=2;
    

MySQL的字符编码与配置文件

1.查看MySQL相关信息

​ MySQL5.6及之前的版本编码需要人为统一 ,MySQL5.6后的版本已经全部默统一。
image

2.想要永久修改编码配置,需要操作配置文件。

​ 2.1 把默认的配置文件是my-default.ini拷贝复制并重命名我my.ini

image

​ 2.2 直接拷贝字符编码相关配置即可无需记忆

[mysqld]
      character-set-server=utf8mb4
      collation-server=utf8mb4_general_ci
[client]
      default-character-set=utf8mb4
 [mysql]
       default-character-set=utf8mb4
        
    注意: 
    1.utf8mb4能够存储表情 功能更强大
	2.utf8与utf-8是有区别的 MySQL中只有utf8

image

注:如果是8.0版本, 结尾是=utf8mb4,添加了表情包的功能

修改了配置文件中关于[mysqld]的配置 需要重启服务端,直接输入客户端编码不用重启服务端。

小技巧

我们可以在配置中添加管理员登录的账户密码,之后就可以直接用mysql登录
	[mysql]
		user='root'
		password=123
免责声明 MySQL,资源类别:文本, 浏览次数:41 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 09:38:00。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/zhanglanhua/p/16916288.html