数据库

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 进程号

以上是关于数据库的主要内容,如果未能解决你的问题,请参考以下文章

数据库类型——系统数据库/用户数据库

关系型数据库与文档型数据库的差别?

数据库数据库管理系统数据库系统

mysql数据库的基本操作:创建数据库查看数据库修改数据库删除数据库

如何清理mysql数据库缓存数据?

JDBC访问数据库的步骤