一、
1、本质是一款基于网络通信的应用软件
2、任何基于网络通信的软件,底层都是 socket
3、MySQL 不单单支持 MySQL 的客户端来操作,也支持其他编程语言直接操作
二、
1、服务端
—基于 socket 通信
—收发消息
—SQL语句
2、客户端
—基于 socket 通信
—收发消息
—SQL语句
三、DBMS:数据库管理系统
3.1、关系熊数据库(MySQL、oracle、sqlite、db2、sql server)
数据与数据之间有关联和限制的,通常都是表结构
确定表的结构(字段的特定类型)
3.2、非关系型数据库(Redis、MongoDB、memcachedb)
通常以 k,v 键值的形式储存数据
四、名词
库:文件夹
表:文件
记录:文件内一行行的数据
表头:表格第一行数据
字段:字段名 + 字段类型
五、安装 MySQL
下载后,是将 MySQL 的客户端和服务端都下载了下来
服务端:MySQLd
客户端:MySQL
SQL 语句以分号结束
制作环境变量
将启动文件所在的路径添加到系统的环境变量中
配置完之后要重启 MySQL 服务端以及 cmd 终端
将 MySQL 制作成系统服务
cmd 终端要以管理员身份来制作系统服务
六、一些基本操作
当命令输入错误时,可以输入 /c 取消前面命令
1、展示所有数据库
show databases
2、客户端登录
mysql -h 127.0.0.1 -p
mysql -uroot -p
不输入密码则以访客模式登录
3、客户端退出
exit
quit
4、查看某个进程
tasklist |findstr 名称
5、杀死进程
tasklist /f /PID 进程号
6、修改密码
没有密码的情况下
MySQLadmin -uroot -p password123
有密码情况下
MySQLadmin -uroot -p123 password 456
7、破解密码
先将已启动的服务端停掉
1、跳过用户名和密码的验证功能,启动服务端
mysqld --skip-grant-tables 启动服务端,跳过授权表
2、修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3、关闭当前服务端,重新以校验用户名密码的方式启动
4、正常以用户名密码的方式,连接 MySQL 服务端
七、配置文件
\s 查看 MySQL 服务端简单配置
通常情况下配置文件的后缀都是 ini 结尾
MySQL 自带的配置文件不要修改
但你可以新建一个配置文件 my.ini
MySQL 服务端在启动时就会自动加载 my.ini 配置文件内的配置
修改完配置文件之后需要先将服务端停止,重新启动才能生效
[mysqld] character-set-server=utf-8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
八、数据库的基本操作
8.1、库
增
create database db1;
查
show databases;
show create database db1;
改
alter database db1 charset='gbk';
删
drop database db1;
8.2、表
在创建表的时候,需要先指定库
指定库:use 库名
查看当前所在的库:select database()
增
create table userinfo(id int,name char);
查
show tables;
show create table userinfo;
desc userinfo <==> describe userinfo;
改
alter table userinfo modify name char(32);
删
drop table userinfo;
8.3、记录
先创建一个库或者指定一个已经存在的库
切换到该库下,创建表,再操作记录
create database db1;
create table userinfo(id int,name char(32),password int);
增
insert into userinfo values(1,'a',123)
insert into userinfo values(1,'a',123),(2,'b',123),(3,'c',123);
查
select * from userinfo;
select name from userinfo;
select id,name from userinfo where id=1 or name='c';
改
update userinfo set name='d' where id=1;
update userinfo ser name='a',pwd=456 where id=1;
删
delete from userinfo where id=1
delete from userinfo