初识数据库

一.数据库的概念

1.1什么是数据库?

用来存储数据的仓库
数据库可以在硬盘内存中存储数据

1.2数据库与文件存储数据的区别?

数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件

二.数据库介绍

数据库服务器端: 存放数据库的主机集群
数据库客户端: 可以连接数据库的任意客户端
数据库管理员: DBA

# 数据库的本质就是 socket套接字的C/S架构应用

三.数据库的基本概念

重要性: ***
库: 多表构建一个数据库, 本质就是文件夹
表: 多条数据构建一张表, 本质就是文件
记录: 存放一条条数据, 本质就是文件中一条条数据记录

(字段)id, name, age, gender...一个老师的数据 => 一条数据记录

四.数据库分类

4.1关系型数据库

1.有表的概念
2.以表中一条条记录存储数据
mysql oracle sqlServer access db2

前两个是甲骨文公司,中间两个微软的,最后一个ibm
付费的数据库,数据出问题有保证

4.2非关系型数据库

1.没有表的概念
2.通过key-value键值对方式存储数据
mongodb redis memcache

五.数据库安装

官网下载:www.mysql.org

download ——>社区版——>5.6版本——>下载完以后解压缩——>得到文件夹改名为mysql56,文件夹下面存放一些文件

bin:文件里面有
(mysql.exe 套接字客户端软件 mysqld.exe  mysql套接字服务端软件)
data:mysql管理的数据
dos:存文档
include:存相关引用的库
scripts:存一些脚本
share:放共享的一些东西
readme:介绍软件
my-default.ini 放的是配置文件 

解压缩文件

ps.重点了解bin和data

安装server端与client端

如何启动server? 如果通过client连接server

六.数据库启动与连接

6.1.方法1

6.2.方法2:简单方法

客户端和服务端启动都要切到bin这个文件夹下面,所以我们将客户端和服务端的执行路径(bin目录)加到环境变量

添加环境变量:

  此电脑——>属性 ——>高级设置——>环境变量——>系统环境变量——>Path——>添加路径

 

 6.3.方法3:把mysql做成系统服务

1.注意:先把mysqld关掉

2.然后输入命令mysqld --install

3.windows+r 输入services.msc

4.然后启动mysql

 

权限可以改一下:毕竟在C盘

 

了解一下文件结构

bin:二进制执行文件

===========================================

如何来运行sql客户端,通过cmd来运行

环境变量:用户变量和环境变量的区别

七.密码操作

7.1.未设置密码的情况下设置密码

输入命令mysqladmin

7.2.有密码的情况下改密码

7.3暴力破解mysql管理员密码

1.先把服务端停掉 

要么用taskkill杀掉服务端,要么services.msc 强制暂停服务端

2.跳过授权的文件,这些授权文件一定是在硬盘放着

第一步

第二步

第三步

第四步

7.4相关总结

1、安装

2、加环境变量

3、把mysqld软件做成系统服务
    注意:制作之前先把mysqld关掉
    C:\Windows\system32>tasklist |findstr mysqld
    mysqld.exe                    8372 Console                    2    454,916 K

    C:\Windows\system32>taskkill /F /PID 8372
    成功: 已终止 PID 为 8372 的进程。

    制作:
        mysqld --install

        查看:
            windows+r
            输入services.msc

4、启动:
    未制作系统服务的启动方式:
        1、启动服务端
            mysqld

        2、启动客户端
            mysql -uroot -p -h127.0.0.1 -P 3306
            如果是在本机登录mysqld服务端可以简写:
                mysql -uroot -p

    制作完系统服务后就可以鼠标点击启动或关闭mysql:
        windows+r
        输入services.msc
        找到mysql,启动或关闭

5、破解管理员密码
    1、先关闭mysqld服务端
    2、以跳过授权表的方式在命令行中启动mysqld服务端
        mysqld --skip-grant-tables

    3、客户端直接以无密码的方式登录root用户,修改密码
        mysql -uroot -p

        mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
        Query OK, 0 rows affected (0.00 sec)
        Rows matched: 1  Changed: 0  Warnings: 0

        mysql> flush privileges;
        Query OK, 0 rows affected (0.00 sec)

    4、在命令行中用taskkill杀死mysqld服务,然后正常启动mysqld
        taskkill /F /PID 131312

八.统一字符编码

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%'

第一步查看字符编码

 

 

 

九.基本的sql语句

实现对文件的增删改查操作

1、文件夹(库)
    增
        create database db1 charset utf8;
    改
        alter database db1 charset gbk;
    查
        查看所有库的库名
        show databases;
        单独查看某一个库的信息
        show create database db1;
    删
        drop database db1;

2、文件(表)
    首先切换文件夹:
        use db1;
        select database(); #查看当前所在的文件夹
    增
        create table t1(id int,name char);
    改
        alter table t1 modify name char(16); #这里的长度是字符长度
    查
        查看当前库下所有的表名
        show tables;
        查看t1表的详细信息
        show create table t1;
        查看表结构
        desc t1;

    删
        drop table t1;

3、文件的一行内容(记录)
    增
        insert into db1.t1 values
        (1,'egon'),
        (2,'alex'),
        (3,'lxx');  #这里表示插入多条数据
    改
        update db1.t1 set name='sb' where id > 1;  #设置名字等于sb where后面跟的是限制条件
    查
        select id,name from db1.t1;
    删
        delete from db1.t1 where name = "SB" ;

create table t1(id int)engine=innodb;
create table t2(id int)engine=myisam;
create table t3(id int)engine=blackhole;
create table t4(id int)engine=memory;

十.数据库:drop、truncate、delete三者删除的区别

一:用法和区别

drop:drop table 表名

      删除内容和定义,并释放空间。执行drop语句,将使此表的结构一起删除。

truncate (清空表中的数据):truncate table 表名

      删除内容、释放空间但不删除定义(也就是保留表的数据结构)。与drop不同的是,只是清空表数据而已。

      truncate不能删除行数据,虽然只删除数据,但是比delete彻底,它只删除表数据。

delete:delete from 表名 (where 列名 = 值)

      与truncate类似,delete也只删除内容、释放空间但不删除定义;但是delete即可以对行数据进行删除,也可以对整表数据进行删除。

#执行速度一般来说:drop>truncate>delete

 

posted @ 2019-01-07 20:02  王苗鲁  阅读(183)  评论(0)    收藏  举报