一、数据库的类型
关系性数据库
MySQL, oracle, sqlite, db2, sql server
1.数据与数据之间可以有关联和限制的
2.关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是确定表结构
非关系性数据库
redis,mongodb(文档型数据库 非常接近关系型的非关系型数据),memcache
通常都是以k,v键值的形式 存储数据 类似字典
二、MySQL
启动前准备:
1.bin目录配置环境变量path中
2.管理员身份运行cmd,将bin目录下mysqld服务端制作成系统服务(自动开启,24小时不间断服务)
制作命令: mysqld --install
服务端
mysqld
客户端
mysql
1.启动
1.启动mysqld 服务端
1.切换到bin目录下
2.执行mysqld
ps:做前期MySQL配置的时候 终端建议你用管理员身份运行
2.启动 mysql 客户端
客户端登陆
mysql -h 127.0.0.1 -P 3306 -uroot -p
可以简写
mysql -uroot -p
如果不输入用户名和密码 默认是访客模式登陆 所能用到的功能很少
客户端退出登陆
exit;
quit;
2.修改密码
没有密码的情况下
set password for root@localhost =password('123'); 这个好用,亲身实验,老师讲的不成功
有密码的情况下
mysqladmin -uroot -p123 password 123456;
当命令输入错误的时候 可以用\c取消前面的命令 cancel
密码忘记,破解密码
思路:密码验证就是一个装饰器,那么启动的时候跳过密码装饰器,密码就破解了
注意停止:先查PID号,再杀死进程
1.先停止服务端,重启服务端,跳过用户名密码验证功能
命令:mysqld --skip-grant-tables; 启动服务端,跳过授权表
2.修改管理员用户对应的密码(而不是全部用户的密码,选择需要修改的用户)
命令:uptade mysql.user set password = password(123) where user = 'root' and host='localhost';
host='localhost' 表示 本地的服务器
3.重新正常启动服务端(拥有密码验证的功能)
4.客户端mysql正常登录到服务端(刚刚修改的密码)
3.配置文件
\s查看 mysql服务端简单配置
通常情况下配置文件的后缀都是ini结尾
mysql自带的配置文件不要修改
但是你可以新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
修改完配置文件之后需要先将服务端停止 重新启动 才能生效
修改了配置文件一定要重启服务端
4.数据库的增删改查
1.库 类似于文件夹
增 create database 库名; 添加库 create database 库名 charset utf8; 添加库定义编码 查 show databases; 查所有 show create database 库名; 查单个 改 alter database 库名 charset='gbk'; 修改编码 删 drop database 库名; 删库
2.表 类似于文件
在创建表的时候 需要先指定库
指定库: use 库名
查看当前所在的库: select database()
增 create table 表名(id int,name char); 查 show tables; 查看某个库下面的所有的表 show create table 表名; # 查单个表 desc 表名; <==> describe 表名; # 查单个表 改 alter table 表名 modify 字段名 char(32); 删 drop table 表名;
3.记录
先创建一个库或者指定一个已经存在的库
切换到该库下 创建表
然后再操作记录
create database 库名; # 创建库
create table 表名(id int,name char(32),password int); # 添加表
增 insert into 表名 values(1,'jason',123); 插入单条数据 insert into 表名 values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据 查 select * from 表名; 查询所有的字段信息 select name from 表名; 查询指定字段信息 select id,name from 表名 where id=1 or name='tank'; 带有筛选条件的字段信息 改 update 表名 set name='kevin' where id=1; 修改数据的一个字段信息 update 表名 set name='jason',password=666 where id=1; 修改数据的多个字段 删 delete from 表名 where id =1; 指定删符合条件的数据 delete from 表名; 将表中的数据全部删除
4.查杀进程
查看所有的数据库 show databases; 查看某个进程 tasklist |findstr 名称 杀死进程 taskkill /F /PID 进程号