初见mysql
2022/2/18 19:13:37
本文主要是介绍初见mysql,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据演变史
# 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt data.txt 数据格式:jason|123 tony~123 """只能在自己电脑上使用,程序彼此之间无法兼容""" # 2.软件开发目录规范 规定了文件的命名规则和存储位置 """文件的查找变得更加简单 但是并没有解决核心问题""" # 3.数据库阶段 规定了文件的存储位置和数据的格式 """目前正在使用的阶段 解决了核心问题"""
数据存储发展史
# 1.单机游戏阶段 数据各自保存在各自的计算机上,无法实现各方共享 # 2.多机游戏阶段 数据统一保存在一个固定的服务器上,再通过网络以此实现数据共享(必须要有网络) """为了数据的安全,还会采用集群架构来分担风险"""
数据库的分类(重头戏)
# 市面上有很多款数据库软件,但是大致分为两类 1.关系型数据库 MySQL:开源免费,使用规范 Oracle:收费,维护成本高,些许大型公司会使用 PostgreSQL:支持二次开发 MariaDB:MySQL的替代产品(并且有属于自己的特性) sqlite:小型数据库(django框架自带该数据库) 2.非关系型数据库 Redis:目前最火的缓存数据库,具有很多大数据结构,功能强大 mongoDB:文档型数据库,可以用在大数据和爬虫领域 memcache:已经被redis淘汰 """ 1.两类数据库的区别 关系型数据库: 拥有固定的表结构,并且表与表之间可以建立代码层面的关系 非关系型数据库: 没有固定的表结构,数据储存采用的是类似于字典的K:V键值对的形式 2.这么多数据库该如何学习呢 这两大类数据库类型的操作逻辑基本一致 每个种类的数据库学习一种即可 关系型学MySQL 非关系型学redis、mongodb """
SQL与NoSQL的由来
数据库的服务端为了能够兼容不同类型的客户端实现数据交互 统一规定了交互方式 关系型数据库:SQL语句 非关系型数据库:NOSQL语句
MySQL
1.主要版本 5.6版本使用频率较高 5.7版本目前正处于过渡阶段 8.0版本是目前最新的版本 """不同的版本主要区别在于其底层的逻辑,SQL语句基本一致""" 学习时使用5.6版本足以 2.软件下载 mac:https://www.cnblogs.com/Dominic-Ji/articles/15402755.html linux:https://www.cnblogs.com/Dominic-Ji/articles/15429428.html Windows: 1.访问官网:https://www.mysql.com/ 2.具体步骤: DOWNLOADS MySQL Community (GPL) Downloads MySQL Community Server Archives 选择版本下载压缩包(客服端 服务端) 3.目录介绍 bin文件夹:mysqld.exe 服务端 mysql.exe 客户端 data文件夹:存储使用过程中需要保存的数据 my-default.ini:配置文件 redadme:说明文件 4.基本使用 # 一定要首先启动服务端再启动客户端 """前期在操作的时候最好使用管理员cmd操作""" 1.配置环境变量 将下载的文件路径加入环境变量中(右键我的电脑-属性-高级系统设置-环境变量-双击path-添加路径保存) 2.直接输入mysqld启动服务端(当前cmd窗口不要关闭!!) 3.开设一个新的cmd窗口操作客户端 mysql # 游客登录模式 mysql -u用户名 -p密码 # 账号登录 mysql -hIP地址 -P端口号 -u用户名 -p密码 # 完整版账号登录 """第一次登陆,root没有密码,直接连续回车进入"""
系统服务
# 将MySQL的服务端制作成系统开机自启动,关机自关闭 1.将之前的服务端关闭 2.查看当前计算机系统服务列表(win+r输入services.msc回车) 3.以管理员身份运行cmd并制作系统服务 mysqld --install # 将mysql添加到系统服务,第一次需要手动启动 4.启动服务 方式一:命令行方式启动(net start mysql) 方式二:在添加到系统服务的窗口中,选中直接右键启动 5.停止服务(net stop mysql) 6.移除系统服务(mysqld --remove)
密码相关
# 针对管理员用户需要设置密码 方式1:直接在cmd窗口内使用mysqladmin命令 mysqladmin -uroot -p原密码 password 新密码 eg: mysqladmin -uroot -p password 123 mysqladmin -uroot -p123 password 666 方式2:直接在登录状态下修改当前登录用户的密码 set password=PASSWORD('密码') # 忘记密码如何解决(了解) 方式1:前期数据库里面也没有数据 干脆重来!!! 方式2:稍作了解 1.关闭服务端 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.使用修改之后的密码登录
重要概念介绍
库 文件夹 表 文件夹里面的文件 记录 文件夹里面的文件里面的一行行内容
基本SQL语句
# 在编写sql语句时,结束时必须使用分号结尾 1.如何查看所有数据库的名称 show databases; # 会有一个临时产生在内存的库:in...sc 2.如何查看所有的表名称 use 库名; # 切换库,类似于双击文件夹的操作 show tables; 3.如何查看所有的记录 select * from 表名; 如果内容较多,展示不全出现错乱的情况,可以在语句后加 \G
针对库的SQL语句
# 增 create database 数据库名; # 查 show databases; # 查看所有库的名字 show create database 数据库名; # 定向查看某个库 # 改 alter database 数据库名 charset='gbk'; # 删 drop database 数据库名;
针对表的SQL语句
""" 要想操作表必须得先有库 1.先创建库 create database db1; 2.查看当前所在的库名 select database(); 3.切换库 use bd1; """ # 增 create table 表名(字段名1 字段类型1,字段2 字段类型2); # 查 show tables; # 查看当前库下面所有的表名 show create table 表名; # 查看指定的表信息 describe 表名; # 查看表的具体信息(常用) 简写 desc 表名; # 改 alter table t1 rename ttt; # 修改表名 alter table ttt change id nid int; # 修改字段名和类型 alter table ttt modify nid char(4); # 修改字段类型 # 删 drop table 表名;
针对记录的操作
"""肯定得先确定库和表""" # 增 insert into 表名 values(数据,数据,数据); '''单条数据''' insert into 表名 values(),(),(); '''多条数据''' # 查 select * from 表名; '''查询表中所有的数据''' # 改 update 表名 set 字段名='新数据' where 筛选条件; # 删 delete from 表名 where 筛选条件;
字符编码问题
# 查看MySQL内部默认的编码情况 \s """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服务端
这篇关于初见mysql的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程