初识数据库
一.数据库的概念
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

浙公网安备 33010602011771号