MySQL基本
MySQL数据库简介
是一款基于网络通信的cs架构的应用软件
主要针对
服务端
客户端
自带的客户端
其他编程语言
------------------------------------------------
服务端
mysqld
客户端
mysql -h 127.0.0.1 -P 3306 -uroot -p
统一的标准:sql语句
Ps:MySQL其实就是一款远程操作文件的软件
对应关系
文件夹 库
文件 表
文件内一行行数据 记录
将mysqld制作成系统服务
你的cmd终端一定要是管理员身份运行 否则无法设置
mysqld --install
查看服务
services.msc
修改密码
直接在命令行敲该命令 而不是在客户端内
mysqladmin -uroot -p原密码 password新密码
关闭MySQL服务端
查找服务
tasklist |findstr mysqld
杀死进程
taskkill /F /PID pid
破解密码
1.先将已经启动的MySQL服务端关闭
2.命令行手动启动MySQL服务端
mysqld --skip-grant-tables
3.直接以无密码管理员身份 mysql -uroot -p
4.修改管理员账户的密码
update mysql.user set password=password(新密码) where user='root' and host='localhost';
5.重启MySQL服务端
6.以新密码的方式登录
编码问题
\s
查看当前软件信息( 包括了编码问题 )
mysql默认编码是有很多种的
为了防止编码问题 应该统一编码
mysql自带一个mydefault.ini配置文件
该文件是模板配置文件 千万不能修改
你可以自己新建一个my.ini配置文件,服务端在启动的时候就会去加载你的my.ini配置文件
增删改查
库
create database db1;
show databases;
show create database db1;
alter database db1 charset='utf8';
drop database db1;
表
use db1 切换到某个库下
create table t1(id int,name char);
show tables;
show create table t1;
desc t1
alter table t1 modify name char(16);
drop table t1;
记录
insert into t1 values(1,'jason');
select * from t1;
select id,name from t1;
select id,name from t1 where id = 1 or name='jason';
update t1 set name='egon' where id = 1;
delete from t1 where id = 1;
mysql存储引擎
存储引擎 :
不同的数据应该有不同的处理机制
我们需要熟悉的是下面四种存储引擎
Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全
---------------------------------
myisam:mysql老版本用的存储引擎
---------------------------------
memory:内存引擎(数据全部存在内存中)
---------------------------------
blackhole:无论存什么 都立马消失(黑洞)
查看每个存储引擎存取数据的特点
show engines;
文件格式有很多种,对应的软件也有很多种txt,pdf等
针对不同类型的文件,需要对应有不同的软件帮助我们去操作
现在创建表时默认使用innodb引擎,因为innodb引擎:支持事务处理;提供了行锁,提供外键约束
保证了数据的安全
myisam是之前使用的引擎,myisam具有索引,可以支持全文搜索,存取速度更快,这也是相对innodb引擎快,innodb引擎实际已经很快了,
blackhole黑洞引擎,存入什么,什么就消失
memory内存引擎,只是创建临时表,关闭服务端或者服务端断点,数据丢失
Innodb
目前5.5之后MySQL版本默认的存储引擎
支持事务,行锁,外键
由于上面的支持 数据更安全
建表的时候innodb会产生两个文件
一个是表结构文件
一个是存储数据文件
MyIsam
5.5版本之前的MySQL的默认存储引擎
查询速度较于Innodb要快
建表的时候会产生三个文件
一个是表结构文件
一个是索引文件
索引你先把它理解成是书的目录,能够帮助你更快的查询数据
一个是存储数据文件
memory
将数据存放于内存中
建表的时候都仅仅只有一个表结构文件
blackhole
任何写入的数据都会消失
建表的时候都仅仅只有一个表结构文件