一 数据库管理系统的基本介绍
mysql数据库管理软件是一个cs架构的套接字程序,该程序的基本流程就是客户端提交命令给服务端运行,然后服务端将结果返回给客户端,所以说白了数据库管理软件如mysql
mysql本质就是一个远程执行命令的套接字程序,数据库管理软件提供的这套命令称之为sql
二 数据库的基本概念
2.1 MySQL数据库管理软件
1、数据库管理软件本质就是一个socker套接字软件
2、是一个cs架构
2.2 关系型数据库基本概念
1、数据库的组成部分
字段:表的标题
记录:文件中的一行内容
表:文件
库:文件夹
数据库管理软件:本质就是一个socket软件
数据库服务器:运行数据库管理软件服务端的计算机
2、数据库的结构模型
shell命令
shell解释器
linux操作系统
计算机硬件
sql语句
mysql服务端软件
linux操作系统
计算机硬件
2.3 数据库软件分为两大类
1、关系型
mysql、oracle、db2、sqlserver、marriadb
2、非关系型: key:value
mongodb、redis
三 数据库的一些sql语句
3.1 库
增
create database db1 charset utf8mb4;
改
# 改数据库没办法改名字,但是可以改字符编码
alter database db1 charset gbk;
查
show create database db1;
删
drop database db1;
3.2 表
create database db1;
use db1;
增
create table t1(id int,name varchar(16));
改
# 改表的字段,不能改内容
alter table t1 modify name varchar(20);
查
# 查看当前库下的表都有哪些
show tables;
# 查看表t1的内容
desc t1;
# 展示创建的表t1
show create table t1;
删
drop table t1;
3.3 记录
create database db1;
use db1;
create table t1(id int,name varchar(16));
增
insert db1.t1 values(1,"egon"),(2,"tom"),(3,"jack");
insert db1.t1(name,id) values("lili",4);
insert db1.t1(id) values(5);
改
update db1.t1 set name="JACK" where id=3;
查
select * from db1.t1;
select id,name from db1.t1;
select id,name from db1.t1 where id=3;
select id,name from db1.t1 where id<3;
删
delete from db1.t1 where id=3;
# 清空表
delete from db1.t1; ------不要这么做,无法做到彻底还原
truncate db1.t1;
四 课后问题
1、描述数据库忘记密码后的破解流程
1、先停下数据库服务,使用命令systemctl stop mysqld
2、绕过验证启动,使用一个命令,让数据库“不带密码检查功能”地启动,这样我们就能空手进去了,这个命令是mysqld_safe --skip-grant-tables &,再输入mysql就能直接连上了
3、修改密码,进去后把密码设成新的
mysql数据库是
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
mariadb数据库是
UPDATE mysql.user SET password=PASSWORD('新密码') WHERE user='root';
FLUSH PRIVILEGES;
2、说下该如何统一数据库的字符编码?
去到/etc/my.cnf里加上如下几行内容
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci