一 mysql介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一
mysql是什么?
- mysql数据库本质上就是一个基于网络通信的软件
- 所有基于网络通信的软件,底层都是socket
服务端:
基于网络通信
收发消息
客户单:
基于网络通信
收发消息
所有语言若想操作数据库,拿到服务端ip和port,都必须遵循一套标准的解析指令 --—》 SQL语句
DBMS(数据库管理系统)
二 安装
1 官网下载mysql安装包(5.6-5.7)https://dev.mysql.com/downloads/mysql/5.7.html#downloads
2 解压安装包到D:盘
3 添加系统环境变量
- bin目录添加到环境变量
4 以管理员身份打开CMD,输入mysqld启动服务端,此时会卡主
5 再新打开一个CMD窗口,mysql客户端连接服务端
- mysql 初始化时无密码,可以进入游客模式,功能会很少
- 无密码直接进去
6 退出
exit:
quit:
查看操作系统中是否已经启动mysqld服务端
tasklist | findstr "mysqld"
做服务端操作时,必须以管理员身份打开
修改密码
默认没有密码,设置密码:
cmd>>>: mysqladmin -uroot password 123
有密码的情况下,修改密码:
cmd>>>: mysqladmin -uroot -p原密码 password 新密码
cmd>>>: mysqladmin -uroot -p123 password 123456
忘记密码,破解方法
1 关闭服务端
2 跳过权限启动服务端
mysqld --skip-grant-tables
3 客户端进入游客模式:
cmd>>>: mysql
update mysql.user set password=password('123456') where user="root";
4 重启服务端,把授权窗口关掉
先kill掉跳过授权认证启动的服务端进程
再动手去开启服务中的mysql服务即可
设置配置文件
1 在mysql目录下 D:软件包setmysql-5.6.40-winx64
创建一个名为“my.ini"的文件,
2 这个是mysql的配置文件,添加到myini中
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
# 这个是用python软件连接的客户端
[client]
default-character-set=utf8
# mysql软件的客户端
[mysql]
# 可写,可不写这样可以不需要用户名与密码直接登录mysql
# user='root'
# password=123
# 设置默认的字符编码
default-character-set=utf8
3 重启mysql服务,即修改成功
net stop mysql
net start mysql
数据库基本操作
库的操作:类似于文件夹
增:create database 库名;
删:drop database 库名;
改:alter database db1 charset='utf8'
查:show databases; #查看所有库
show create database 库名; #查看库中的信息
表的操作:类似于文件
操作表钱,需要先切换到指定库
use 库名
查看当前所在的库:select database()
增:varchar与chr 都是字符串类型
create table 表名(字段名,字段类型);
create table user_Info (name varchar(20), age int);
查:show tables; #查看当前库中所有的表
desc user_info #查看表结构
改:alter table 表名 modify name varchar(20);
alter table oldt rename to newt;(更改表名)
删:drop table 表名;
记录的操作:类似于文件中的一行行数据
增:intert into 表名 values('字段类型的数据',字段类型的数据)
insert into t2 values('letin',18) #插入一条数据
insert into t2 values('tank',99),('sean','99) #插入多条数据
查:*指的是所有
select * from #表名;
select name from name; #查看字段name的记录
select name from name where name='letin'; #查看字段name为letin的记录
改:update 表名 set 字段名=字段值 where 标间判断; #若条件成立,则修改成功
update t2 set name='雷霆' where age=18; #修改age=18的记录中name属性为 雷霆
删:delete from 表名 where 条件;
delete from 表名;
清空表记录,不提交,可恢复
truncate table 表名;
删除,不可恢复,删除数据,保留表结构