• List item


文章目录

  • 什么是数据库
  • 数据库介绍
  • 数据库基本概念
  • 数据库分类
  • 安装(`centos`为例)
  • 数据库启动与连接
  • 密码操作
  • 库的基本操作
  • 表的基本操作
  • 记录的基本操作


什么是数据库
  • 用来存储数据的仓库
  • 数据库可以在硬盘及内存中存储数据
  • 数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件
数据库介绍
  • 数据库服务器端:存放数据库的主机集群
  • 数据库客户端:可以连接数据库的任意客户端,socket套接字的C/S架构应用
  • DBA: 数据库管理员
  • 数据持久化 :将数据保存到能够长久保存数据的存储介质中(硬盘等),在断电情况下数据也不丢失
  • 结构化查询语言:SQL
  • 实体关系模型:ER模型,是概念数据模型的高层描述方式。
  • 数据库建模工具(如PowerDesigner) 来绘制概念数据模型,将概念模型转换成物理模型,最终生成创建二维表的SQL
数据库基本概念
  • 库:多表构建一个数据库,本质就是文件夹
  • 表:多条数据构成一张表,本质就是文件
  • 记录:存放一条条数据,本质就是文件中一条条数据记录
数据库分类
  • 关系型数据库
  • mysql mysql是开放源代码的,mysql因为其速度、可靠性和适应性而备受关注
  • oracle 目前使用最广泛。
  • 作为通用的数据库系统,它具有完整的数据管理功能。
  • 做为关系型数据库,它是一个完备关系的产品。
  • 作为分布式数据库,它实现了分布式处理的功能
  • 在最新的12c版本中,还引入了多承租方架构,使用该架构可轻松部署和管理数据库云
  • PostgreSQL 在BSD许可证下发行的开放源代码的关系数据库产品
  • 特点:
  • 有表的概念
  • 以表中一条条记录存储数据
  • 非关系型数据库
  • mongodb redis memcache
  • 通过key-value键值对方式存储数据
  • 图数据库
  • Neo4j
安装(centos为例)
  • 如果有MariaDB相关的文件,需先移除MariaDB相关的文件
yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y
数据库启动与连接
#配置文件默认在/etc/my.conf
# 1.前往数据库安装路径,bin文件夹下,执行 mysqld 启动mysql服务器端
启动:        systemctl start mysqld
查看端口:    netstat -ntlp | grep mysql
查看进程:     pgrep mysqld
  • 连接数据库
mysql -hlocalhost -P3306 -uroot -p
  • 查看当前用户可以操作的所有数据库
show databases;
  • 查看版本
select version();
  • 统一字符码
# 查看数据库配置信息:统一编码 => 防止乱码(读取不方便,数据丢失)
# 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀)
# 2.设置配置信息并保存
[mysqld]
#port=7777 注释
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
# 3.重启服务
密码操作
# 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables;
# 2.以任意密码登录root用户: mysql -uroot -P任意
# 3.更新密码: update mysql.user set password=password("新密码") where user="root" and host="localhost"
# 4.刷新权限: flush privileges;
  • 安全策略修改
set global validate_password_policy=0;
set global validate_password_length=8;
alter user 'root'@'localhost' identified by 'y123456!';
MySQL较新的版本默认不允许使用弱口令作为用户口令,所以我们通过上面的前两条命令修改了验证用户口令的策略和口令的长度。事实上我们不应该使用弱口令,
库的基本操作
# 1.增,创建数据库
# 采用默认编码集: create database db1;  # db1为数据库名
# 自定义编码集: create database db1 charset="gbk";

# 2.查,查看数据库全部信息
# 所有数据库: show databases;
# 详细信息: show create database db1;

# 3.改,修改数据库编码集
# alter database db1 charset="utf8";

# 4.删, 移除数据库
# drop database db1;
表的基本操作
# 进入指定数据库: use db1

#1.增, 创建表(字段1 类型, ..., 字段n 类型)
# create table t1(name char, age int);

# 2.查,查看表信息
# 纵观所有数据库: show tables;
# 详细信息: show create table t1;
# 表字段结构信息: desc t1;

# 3.改
# 修改字段属性: alter table t1 modify name char(20);
# 修改字段名: alter table t1 change name usr char(16);
# 修改表名: alter table t1 rename t2;

# 4.删, 移除表
# drop table t1;
记录的基本操作
# 前提: 知道具体操作的是哪张表
# 1.增,添加记录
# insert into t1 (usr, age) values ("aa", 18),("bb", 8);

# 2.查
# select * from t1;

# 3.改
# update t1 set age=28 where usr="aa";

# 4.删
# delete from t1 where age>8;