数据库
Posted guyouyin123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库相关的知识,希望对你有一定的参考价值。
一、数据库的类型
关系性数据库
? 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 进程号
以上是关于数据库的主要内容,如果未能解决你的问题,请参考以下文章