数据库初识
为什么要使用数据库:
因为之前使用文件管理数据,但是当数据量特别的大的时候,再使用文件去管理数据就比较麻烦了,所以这个时候就引入了一个新的数据管理软件:数据库软件。
数据库的分类:
关系性数据库:
有约束的,基于硬盘存储的。
典型代表:mysql,oracle,sql server ,db2,sqllite
非关系型数据库:
无约束,基于内存的存储
是key与value的键对值存储
典型代表:redis,mongodb
数据库值MySQL:
本质上基于网络通信的软件。
任何网络通信的软件,底层都是soket
服务端:
基于socket通信
收发消息
sql语句
客户端:
基于客户端通信
收发信息
sql语句
MySQL不仅仅支持MySQL的客户端操作,也支持其他编程语言直接操作服务端。
MySQL可以看成是一款支持远程文件操作的软件
数据库 --------文件夹
数据表 ---------- 文件
数据行---------文件上的一条条记录
制作环境变量:
将启动文件所在的路径添加到系统的环境变量中
注意:配置完之后一定要重新启动MySQL的服务端和cmd终端
将MySQL制作成系统服务:
制作系统服务,身份一定要是以管理员的身份运行
mysql --install
修改密码:
在没有密码的情况下
mysqladmin -uroot -p password 123
再有密码的情况下
mysqladmin -uroot -p 旧密码 password 新密码
当命令输入错误时,可以\c取消前面的命令
\s查看mysql服务端的简单配置
破解密码
现将已经启动的服务端停掉
1.跳过用户名和密码的验证功能 启动服务端
mysqld --skip-grant-tables 启动服务端 跳过授权表
2.修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3.关闭当前服务端 重新以校验用户名密码的方式启动
4.正常以用户名密码的方式 连接mysql服务端
配置文件
\s查看 mysql服务端简单配置
通常情况下配置文件的后缀都是ini结尾
mysql自带的配置文件不要修改
但是你可以新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
修改完配置文件之后需要先将服务端停止 重新启动 才能生效
修改了配置文件一定要重启服务端
数据库的基本操作:
数据库:
增:
create database 库名 charset=utf8; 后面是指定编码
删:
drop database 库名;这个操作公司不会给你碰的,删方面的基本都碰不到
改:
alter database 库名 charset='gbk' ;修改编码
查:
show databases; 查看所有的库
show create database 库名;查看单个库
数据表
创建表的时候要先指定库 use 库名
查看当前所在库select database()
增:
create table 表名(字段名 属性);
删:
drop table 表名;
改:
修改字段下的属性:alter table 表名 modify 字段名 修改后的属性;
新增字段:alter table 表名 add 列名;
修改字段:alter table 表名 change 原列名 新列名加新列名的属性;
删除字段:alter table 表名 drop 列名;
查:
show tables;查看所在库下的所有表
desc 表名;查看表的结构
show create table 表名;查看表 创建过程
数据行:
增:
insert into 表名(列名1,列名2) values (值一,值2);增加单条
insert into 表名(列名1,列名2) values (值一,值2),(),(),()。。。;多条以逗号隔开。
删:
delete from 表名;删除表中的所有数据
delete from 表名 where ....加条件的删除
改:
update 表名 set 修改全部
update 表名 set 列名 where ...条件修改
查:
select * from 表名; 查看全部
select 列名 from 表名;查看指定的列名
select 列名 from表名 where 。。。加条件的指定查看