Atopos

导航

数据库的发展、数据库软件的本质、MySQL的简介、MySQL的下载与安装、MySQL的基本配置&基本SQL语句

1.数据演变史

1.单独的文本文件
  数据没有固定的存放位置和格式,并且文件名和数据格式不是统一的,从而导致程序彼此之间无法兼容。

2.软件开发目录规范
  规定了文件名和存储位置,但依然没有内部数据格式一致,程序兼容性的问题。
    
3.数据库阶段
  规定了文件的存储位置和数据格式,解决了程序兼容性问题。

2.数据存储发展史

1.单机游戏阶段
  数据各自保存在各自的计算机上,无法实现共享
    
2.多机游戏阶段
  数据统一保存在某个固定的服务器上,实现数据共享。数据共享的前提是必须连接网络。
    PS:
        但一般为了数据的安全性,还会采用集群来分担风险。

3.MySQL简介

3.1.数据库的本质

数据库实际上也是一款CS架构的软件。
"""
数据库在狭义层面上来说,是处理数据的底层程序;
在广义层面上来说,是操作这些底层程序的便捷应用软件;
学习数据库是学习这些配套的数据库软件。
"""

4.数据库的分类

1.关系型数据库:
  MySQL:开源免费,使用规范
  Oracle:收费,维护成本高,只有大型公司可能会使用
  PostgreSQL:支持二次开发
  MariaDB:MySQL的替代产品(有自己的特性)
  sqlite:小型数据库(django框架自带该数据库)
  sql
  server
  db2

2.非关系型数据库:
  Redis:目前最火的缓存数据库,具有很多数据结构且功能强大
  mongoDB:文档型数据库,可以用在大数据和爬虫领域
  memcache:已经被redis淘汰了

3.关系型数据库与非关系型数据库的区别:
  关系型数据库:
    拥有固定的表结构,并且表与表之间可以建立代码层面的关系。
    
  非关系型数据库:
	没有固定的表结构,数据存储采用的是K:V键值对的形式。

 4.数据库如何学习:
   这两类数据库操作逻辑基本上是一致的,所以每类数据库只要掌握一个就可以掌握所有的。    例如:关系型学习MySQL,非关系型学redis、mongodb
    

5.SQL与NoSQL的由来

  数据库的服务端为了能够兼容不同类型的客户端实现数据交互,从而规定了统一的数据交互方式:
    1.关系型数据库:SQL语句
    2.非关系型数据:NoSQL语句 # NoSQL有时候也表示非关系型数据库

6.MySQL的下载与安装

1.版本:
  5.6 :使用频率高的版本
  5.7 :目前过渡的版本
  8.0 :目前最高版本
 
PS:
  其实版本之间的主要区别在于底层的逻辑,SQL语句没差别。
    
2.下载:
	2.1.mac:https://www.cnblogs.com/Dominic-Ji/articles/15402755.html
            
    2.2.linux:[root@db01 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46.tar.gz

    2.3.windows:https://www.mysql.com/
        步骤:
        	DOWNLOADS —->> MySQL Community (GPL) Downloads 
                      -->> MySQL Community Server -->> Archives
                      -->> 选择版本下载压缩包(客服端 服务端)

3.目录介绍(重点看一下的):
  1.bin文件夹(需要注意的两个文件)
    mysqld.exe(服务端) 
    mysql.exe(客户端)
  2.data文件夹
	存储使用过程中需要保存的数据
  3.my-default.ini
	存放配置文件
  4.readme
	说明文件

4.基本使用
  1.先将MySQL添加到环境变量里
  2.管理员身份打开cmd直接输入mysqld启动服务端(注意:当前打开的cmd窗口不要关闭)
  3.管理员身份再打开一个新的cmd窗口登录操作客户端
    客户端登录步骤:
    01.输入mysql # 游客模式登录
    02.输入mysql -u用户名 -p密码 # 账号登录(本地使用)
       或者输入musql -hIP地址 -P端口号 -u用户名 -p密码 # 账号登录完整的命令
    PS:第一次账号登录mysql,root用户是没有密码的,直接连续回车就可以了
    

7.基本配置

7.1.系统服务

将MySQL的服务端制作成系统服务:开机自启动、关机自关闭。
操作步骤:
	1.先关闭之前的服务端
    2.查看当前计算机系统服务列表
    	services.msc
    3.以管理员身份运行cmd并制作系统服务
    	mysqld --install # 第一次将mysql添加到系统服务还需要手动启动一下该服务
    4.启动服务
		方式1:在电脑服务,本地服务,找到MySQL,鼠标右击选择启动即可
         方式2:在命令行启动:net start mysql
    5.停止服务
    	net stop mysql
    6.移除系统服务
    	mysqld --remove

7.2.用户密码设置修改

1.针对于管理员用户需要设置密码:
	方式1:
    	直接在cmd窗口内使用命令修改密码
        mysqladmin -uroot -p原密码 password 新密码
        	eg:
                mysqladmin -uroot -p password 123
                mysqladmin -uroot -p123 password 666
    方式2:
    	直接在登录状态下修改当前登录用户的密码
        set password=PASSWORD('密码')

 2.忘记密码的解决方式:
	方式1:
    	前期数据库刚创建里面没有数据,直接卸载重来
    
    方式2:
    	1.关闭服务端
        	net stop mysql
        
        2.以跳过授权表的方式重新启动服务端
        	
            mysqld --skip-grant-tables
            
        3.以管理员身份登录
        	只需要提供用户名就可以登录 
        	mysql -uroot -p
            
        4.修改管理员用户密码
        	update mysql.user set password=password(123) where user="root" and host="localhost";
            
        5.关闭服务端再正常启动
        	ctrl + c
            net start mysql
            
        6.使用修改后的密码登录即可

8.MySQL重要的几个概念

1.库 ==> 文件夹
2.表 ==> 文件夹内的文件
3.记录 ==> 文件夹内的文件里面的一行行内容

9.基本SQL语句

"""SQL语句的结束必须使用分号(;)"""
1.查看所有的数据库名称
    show databases; # 会有一个临时产生在内存的库:in...sc
2.查看所有的表名称
    use 库名; # 切换库(类似于双击了文件夹)
    show tables;
3.查看所有的记录
	select * from 表名; 
    eg:
        select * from user; 
        select * from user\G; # 如果内容较多展示出现错乱的情况,可以在语句后面加\G
    	

10.针对库的SQL语句

1.增
	create database 数据库名;
2.查
	show databases; # 查看所有的库名
    show create database 数据库名; # 查看指定的库
3.改
	alter datebase 数据库名 charset='gbk' # 修改字符编码
4.删
	drop database 数据库名;

11.针对表的SQL语句

1.增
	create table 表名(字段名1 字段类型1,字段2 字段类型2);
    eg:
        create table t1(id int,...);
2.查
	show tables; # 查看当前库下面所有的表名
    show create table 表名; # 查看指定的表信息
    eg:show create table t1;
    describe 表名; # 查看表的具体信息,一般简写成 desc 表名;
3.改
	alter table 表名 rename 表名; # 修改表名
    eg:alter table t1 rename ttt;
    alter table 表名 change 旧字段名 新字段名 类型; # 修改字段名和类型
    eg:alter table ttt change id nid int;
    alter table 表名 modify 字段名 新的类型名; # 修改字段类型
    eg:alter table tt modify nid char(4); 
        
4.删
	drop table 表名;
    eg:drop table t1;

 PS:
    想要操作表的前提是先有库:
    	1.先创建库
        	create database db1;
        2.查看当前所在的库名
        	select database();
        3.切换库
        	use bd1;

12.针对记录的操作

1.增
	insert into 表名 values(数据,数据,数据); # 单条数据
    eg:insert into t2 values(1,'lyj',18);
    insert into 表名 values(),(),(); # 多条数据
    eg: insert into t2 values(2,'jack',18),(3,'json',18);
2.查
	select * from 表名; # 查询表中所有的数据
    eg:select * from t2;
3.改
	update 表名 set 字段名='新数据' where 筛选条件;
    eg:update t2 set name='lyj123' where id=1;
4.删
	delete from 表名 where 筛选条件;
    eg:delete from t2 where name='lyj123';

PS:
    操作记录的前提是先确定库和表

13.关于MySQL内的字符编码问题

1.查看MySQL内部默认的编码情况
	\s
2.MySQL默认的配置文件
	mydefault.ini
  1.拷贝默认的配置文件并且重新命名为my.ini
  2.拷贝固定的配置信息
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
  3.重启MySQL服务端
	net stop mysql
    net start mysql
    

posted on 2023-05-14 12:36  Atopos_q  阅读(38)  评论(0)    收藏  举报