初识MySQL数据库
2021/7/27 2:05:43
本文主要是介绍初识MySQL数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
初识MySQL数据库
文章目录
- 初识MySQL数据库
- 一、数据库
- 1、什么是数据库?
- 2、数据库的本质
- 3、数据库的分类
- 4、常见数据库默认端口
- 二、MySQL简介
- 1、MySQL的组成
- 三、MySQL的下载与启动
- 四、MySQL基本设置
- 4 .1、将mysql服务端制作成系统服务(开机自启动)
- 五、MySQL客户端设置
- 5 .1 客户端登录
- 5 .2 设置密码
- 5 .3 破解密码(了解)
- 六、设置MySQL配置文件
- 6 .1 统一编码
- 6 .2 将管理员用户名添加到配置文件
- 七、基本的SQL语句
一、数据库
1、什么是数据库?
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
2、数据库的本质
数据库的本质就是一个C/S架构基于网络通信的应用程序。
- 数据库拥有服务端与客户端
- 服务端
- 基于socket通信
- 收发消息
- 客户端
- 基于socket通信
- 收发消息
- 服务端
3、数据库的分类
经过多年的发展,根据不同的需求,市面上出现了各种存储方式,存取速度不同的数据库,我们通常根据数据库的存取数据的特点来进行分类。将不同的数据库分为这两类:关系型数据库与非关系型数据库。
- 关系型数据库
- 特点:有固定的表结构, 可以建立表与表之间的关系
- eg: MySQL、Oracle 、 sqllite 、SQLserver 、access 、db2
- 非关系型数据库
- 特点:没有固定的表结构,表与表之间没有关系,存储格式:k:v键值对
- eg: Redis (字符串,无序集合,有序集合,哈希类型,列表类型)、MongoDB (爬虫用的多)、Memcached (只支持字符串)
4、常见数据库默认端口
关系型数据库 | 默认端口号 |
---|---|
MySQL | 3306 |
Oracle | 1521 |
SQL Server | 1433 |
db2 | 5000 |
access | 不需要 |
非关系型数据库 | 默认端口号 |
---|---|
MongoDB | 27017 |
Redis | 6379 |
Memcached | 11211 |
- 了解
web框架 | 默认端口号 |
---|---|
django | 8000 |
flask | 5000 |
tomcat | 8080 |
二、MySQL简介
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 使用标准的 SQL 数据语言形式;目前MySQL是开源免费的,隶属于 Oracle 旗下产品,拥有社区版与商业版两个版本。
1、MySQL的组成
库 | 文件夹 |
---|---|
表 | 文件夹 |
记录 | 文件中的数据 |
字段 | 文件的表头 |
三、MySQL的下载与启动
查看我这篇详细版:https://blog.csdn.net/weixin_44884608/article/details/119112963?spm=1001.2014.3001.5502
四、MySQL基本设置
4 .1、将mysql服务端制作成系统服务(开机自启动)
1. 以管理员身份进入到cmd中 2. mysqld --install 添加服务 了解:mysqld --remove 删除服务 3. 默认情况是未启动状态,需要手动点击启动 4.如何查看服务是否启动? 1.services.msc 2.我的电脑 -> 右键 -> 管理 -> 服务和应用程序 3.任务管理器 -> 服务 -> MySQL
五、MySQL客户端设置
5 .1 客户端登录
mysql -u root -p # 客户端用户在cmd窗口登录 mysql -u root -p 密码 # 在cmd中命令尾部跟密码,明文密码显示不建议使用
5 .2 设置密码
# MySQL客户端第一次登录不需要密码登录,密码输入 回车键即可 mysqladmin -uroot -p原密码 password 新密码 # 在cmd窗口输入即可 改密码例子: mysqladmin -uroot -p123 password 123456
5 .3 破解密码(了解)
当时间过长忘记MySQL密码,如何破解?
可以将MySQL获取用户名和密码校验的功能看成是一个装饰器,装饰在客户端请求访问的功能上,如果将装饰器移除,那么MySQL服务端就不会校验用户名和密码了。
# 1、先关闭当前mysql服务端 命令行方式启动(让mysql跳过用户名密码验证功能) mysqld --skip-grant-tables # 2、直接以无密码的方式连接 mysql -uroot -p 直接回车 # 3、修改当前用户的密码 update mysql.user set password=(123456) where user='root' and host='localhost'; ''' 真正存储用户表的密码字段 存储的肯定是密文 只有用户自己知道明文是什么 其他人都不知道 这样更加安全 ''' # 4、立刻将修改数据刷到硬盘 flush privileges; # 5、关闭当前服务端 然后以正常情况启动
六、设置MySQL配置文件
MySQL默认的配置文件是在MySQL的软件目录下的my-default.ini
,my-default.ini
是一个模板配置文件,一般是不可动,不可修改。ini
结尾的一般为配置文件。程序启动会先加载配置文件中的配置之后真正的启动。
[mysqld] # 一旦服务端启动立刻加载下面配置 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 一旦客户端端启动立刻加载下面配置 ... [client] # 其他客户端 ...
6 .1 统一编码
- 统一编码需要自己新建一个
my.ini
的配置文件,修改配置文件后一定要重启服务才能生效
# 统一编码的配置 直接拷贝即可 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
6 .2 将管理员用户名添加到配置文件
作用:方便登录
# 偷懒 将管理员的用户名密码添加到配置文件中 [mysqld] # MySQL服务端 character-set-server=utf8 collation-server=utf8_general_ci [client] # 其他客户端 default-character-set=utf8 [mysql] # MySQL客户端 user="root" # 不识别单引号 password=123456 default-character-set=utf8
七、基本的SQL语句
ps:大部分的业务逻辑都是增删改查(远程操控文件夹)
- 针对库的增删改查(文件夹)
# 增 create database db1; create database db1 charset='gbk'; # 查 show databases; # 查所有. 查看数据库下的所有库名信息 show create database db1; # 查单个,查看以及创建的数据库db1是用的什么字符编码. # 改 alter database db1 charset='utf8'; # 改的只是数据库的字符编码 # 删除 drop database db2;
- 针对表的增删改查(文件)
''' 在操作表(文件)的时候 需要指定所在的库(文件夹) ''' # 查看当前所在的库的名字 select database(); # 切换库 use db1; # 增(表) create table t1(id int,name char(4)); # 查 show tables; # 查看当前库下面的所有表名 show create table t1; # 查单个表 # 查看表结构 describe t1; # 支持简写 desc t1; # 改字段类型 alter table t1 modify name char(16); # 删 drop table t1; """ craete table db2.t1(id int); # 也可以用绝对路径的形式操作不同的库 """
- 针对数据的增删改查(一行行数据)
''' 1、一定要先有库 有表 最后才能操作记录 ''' # 增 # 加into不加into都可以, 不过为了语义完整还是加into insert into t1 values(1,'xiao'); # 为表t1中的第一个字段, 第二个字段插值, 一个小括号就是一条记录. insert into t1 values(1,'xiao'),(2,'chen'),(3,'a'); # 查 *代表所有字段 select * from t1; # 将t1表的数据都查出来 ;当数据量特别大的时候不建议使用 select name from t1; # 在当前路径查看t1表中属于字段name的记录 # 改 update t1 set name='DSB' where id > 1; # 将表t1中id>1的name字段修改为DSB # 删 delete from t1 where id > 1; delete from t1 where name='xiao'; # 将表所有的数据清空 delete from t1;
这篇关于初识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集群:新手入门教程