数据库初识
一.什么是数据库
数据库中的四个基本概念:
数据(Data):数据库中储存的基本对象,描述事物的符号记录。ps:数据的使用要配合语义
数据库(Database):长期储存在计算机内,有组织的,可共享的大量数据的集合。
数据库管理系统(DBMS):位于用户应用与操作系统之间的一层数据管理软件,是基础软件,也是一个大型复杂的软件系统。
数据库系统(DBS):在计算机系统中引入数据库之后的系统构成。
数据库系统的构成:数据库,数据库管理系统,应用程序,数据库管理员。
SQL(Structured Query Language):结构化查询语言,是关系型数据库的标准语言。
SQL即是独立的语言,又是嵌入式语言,可以在其他高级编程语言中使用。
数据库的本质:一款基于网络通信的软件,任何基于网络通信的软件,底层都是socket
数据库分为:服务端和客户端,都基于Socket通信,收发消息。
数据库分为关系型数据库和关系型数据库两种。
关系型数据库:
常见的关系型数据库:MySQL, oracle, sqlite, db2, sql server
特点:
非关系型数据库:
常见的非关系型数据库 :redis,mongodb(文档型数据库 非常接近关系型的非关系型数据),memcache
特点:通常以K,V键值形式,储存数据。
MYSQL是个关系型数据库,表头就是表属性的集合,属性包括属性名和数据类型。
二.数据库的安装及配置
下载MySQL
解压
服务端
mysqld
客户端
mysql
启动mysqld
1.切换到bin目录下
2.执行mysqld
ps: 终端建议使用管理员身份运行
mysql在初始登陆的时候 是没有密码的 直接回车即可
mysql中的sql语句 是以;分号结束的 \c取消cancel命令。
客户端登陆
mysql -h 127.0.0.1 -P 3306 -uroot -p
可以简写
mysql -uroot -p
PS:不输入用户名和密码 默认是访客模式登陆 所能用到的功能很少
客户端退出登陆
exit;
quit;
查看所有的数据库
show databases;
查看某个进程
tasklist |findstr 名称
杀死进程
taskkill /F /PID 进程号
制作环境变量
将启动文件所在的路径添加到系统的环境变量中
将mysqld制作成系统服务
cmd终端以管理员身份打开
运行mysqld --install
修改密码
没有密码的情况下
mysqladmin -uroot -p password 123
有密码的情况下
mysqladmin -uroot -p123 password 123456
破解密码
将正在运行的服务端关闭
1.跳过用户名和密码的验证功能 启动服务端
mysqld --skip-grant-tables 启动服务端 跳过授权表
2.修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3.关闭当前服务端 重新以校验用户名密码的方式启动
4.正常以用户名密码的方式 连接mysql服务端
配置文件
\s查看 mysql服务端简单配置
ps:通常情况下配置文件的后缀都是以ini结尾
mysql自带的配置文件不能修改
新建一个配置文件 my.ini
mysql服务端在启动就会自动加载你的my.ini配置文件内的配置
修改完配置文件,重启服务端 终端才会生效
三.基本命令使用
库:
增
create database 库名;
查
show databases; 查所有库
show create database 库名; 查看创建的库
改
alter database 库名 charset='编码方式'; 修改编码
删
drop database 库名; 删库
表:
在操作表时,需要先选定库
选库: use 库名
查看当前所在的库: select database()
增
create table userinfo(id int,name char);
查
show tables; 查看库下面的所有的表
show create table 表名;查看指定表
desc 表名; <==> describe 表明;
改
alter table 表 modify 属性 数据类型;修改表某个属性的数据类型
删
drop table 表名;
记录:
先切换到库下
增
insert into 表名 values(1,'jason',123); 插入单条数据
insert into 表名 values(1,'jason',123),(2,'egon',123),(3,'tank',123); 插入多条数据
查
select * from 表名; 查询所有的字段信息
select 属性 from 表名; 查询指定字段信息
select 列名,列名 列名 表名 where 条件1 or 条件2; 带有筛选条件的字段信息
改
update 表名 set 列名='值' where 条件; 修改数据的一个字段信息
update 表名 set 列名='值',列名='值' where 条件; 修改数据的多个字段
删
delete from 表名 where 条件; 指定删符合条件的数据
delete from 表名; 将表中的数据全部删除