数据库的介绍

在这里插入图片描述

什么是数据库


```bash
DB,DataBase
	——数据库	:按照数据结构来组织、存储和管理数据的仓库

DBMS,DstaBase Management System
	——数据库管理系统:用来操纵和管理数据库的大型服务软件

DBS,DataBase System
	——数据库系统:既DB+DBMS,指带有数据库并整合了数据库

E-R数据模型
实体-关系 模型
	——Entity-Relationship model
	![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6a2fb944d7504c4188684cc1c911eac1.png#pic_center)


主流数据库服务软件

```bash
Oracle Database			Oracle (甲骨文)
MySQL					Oracle(甲骨文)
SQL Server				Microsoft(微软)
Access					Microsoft(微软)
DB2						IBM   
SQLite 					手机迷你数据库
主要特点
	——适用于中小规模、关系型数据库
	——支持Linux/Unix、Windows等多种操作系统
	——使用C和C++编写,可移植性强
	——通过API接口支持Python/Java/Perl/PHP等语言

安装MySQL

基本需求
	——采用CentOS7系统搭建MySQL服务器

	——关闭防火墙

	——关闭SELinux

	——软件 MySQL-5.7.17-1

安装MySQL

官方下载RPM软件包
	——http://dev.mysql.com/downloads/mysql/
	——适用于当前系统的bundle集合包
	mysql-community-client						//客户端应用程序
	mysql-community-common					//数据库和客户端库共享文件
	mysql-community-devel						//客户端应用程序的库和头文件
	mysql-community-embedded				//嵌入式函数库
	mysql-community-embedded-compat		//嵌入式兼容函数库
	mysql-community-embedded-devel			//头文件和库文件作为MySQL的嵌入式库文件
	mysql-community-libs						//MySQL数据库客户端应用程序的共享库
	mysql-community-libs-compat				//客户端应用程序的共享兼容库

安装MySQL 续

准备工作(如果以安装过mariadb须执行该操作)
	——停止mariadb服务
	——删除文件 /etc/my.cnf
	——删除数据
	——卸载软件包
[root@localhost ~]# systemctl stop mariadb
[root@localhost ~]# rm -rf /etc/my.cnf
[root@localhost ~]# rm -rf /var/lib/mysql/*
[root@localhost ~]# rpm -e --nodeps mariadb-server

安装MySQL
采用U升级安装,可替换冲突文件

[root@localhost ~]# tar –xf  mysql-5.7.17.tar  -C  /root/mysql
[root@localhost mysql]# yum -y install net-tools			// //安装MySQL需要的依赖包
[root@localhost ~]# yum -y install perl-Data-Dumper		//安装MySQL需要的依赖包
[root@localhost ~]# yum -y install perl-JSON				//安装MySQL需要的依赖
[root@localhost ~]# rpm -Uvh mysql-community-*.rpm		//升级安装MySQL

启动MySQL数据库服务
[root@localhost ~]# systemctl start mysqld		//启动服务

[root@localhost ~]# ps -C mysqld					//查看服务进程

[root@localhost ~]# systemctl status mysqld		//查看服务状态

[root@localhost ~]# ss -anptul | grep mysqld		//查看服务状态

[root@localhost ~]# systemctl enable mysqld		//设置服务开机自启

**

MySQL服务相关参数

**

主配置文件:/etc/my.cnf
数据库目录:/var/lib/mysql
默认端口号:3306
进程名:mysqld
传输协议:TCP
进程所有者:mysql
进程所属组:mysql

MySQL初始配置
修改root口令

——默认的数据库管理账号 root 允许从 localhost 访问 ——首次登录密码在安装时随机生成 ——存储在错误日志文件里
/var/log/mysql.log

[root@localhost ~]# grep -i password /var/log/mysqld.log

用初始密码登录MySQL服务器

[root@localhost ~]# mysql -uroot –p’0Yy7GFBpud:g’

修改MySQL初始密码
在这里插入图片描述

密码安全策略变量:validate_password_policy

mysql> set global validate_password_policy=0;		//只验证长度(LOW策略)默认为1
mysql> set global validate_password_length=6;		//修改密码长度,默认是 8个字符

修改MySQL初始密码
操作方法
用 alter user 重设口令

mysql> alter user root@“localhost” identified by “123456”;	//修改登录密码
mysql> exit
[root@localhost ~]# mysql -uroot -p123456		//使用新密码

重新登录
永久修改密码策略

修改/etc/my.cnf
**

[root@localhost ~]# vim /etc/my.cnf
.. ..
[mysqld]
validate_password_policy=0	//密码验证策略
validate_password_length=4	//密码长度
.. .. 
[root@localhost ~]# systemctl restart mysqld

**

数据库基本管理
数据存储流程
在这里插入图片描述

客户端把数据存储到服务器上的步骤

——连接数据库
	——建库					//类似于系统文件夹
	——建表					//类似于系统文件
	——插入记录				//类似于文件里的行
	——段开连接

连接MySQL服务器
使用MySQL命令

—— mysql  -h服务器  -u用户名  -p密码 
—— exit 或 quit  退出

使用MySQL操作指令
操作类型

——MySQL指令:环境切换、看状态、退出等控制
——SQL指令:数据库定义/操纵/授权语句

基本注意事项

 ——操作指令不区分大小写(密码、变量值除外)
	——每条SQL指令以;结束或分隔
	——不支持Tab键补齐
	——ctrl+c  取消命令

使用MySQL管理环境
常用的SQL操作指令

——DDL	数据定义语言(create、alter、drop)
	——DML	数据库操作语言(insert、update、delete)
	——DCL	数据控制语言(grant、revoke)
	——DTL	数据事物语言(commit、rollback、savepoint)

MySQL基本操作
库管理命令

——show  databases;			//显示已有的库
	——use	  库名;					//切换库
	——select  	database();			//显示当前所在的库
	——create database  库名;		//创建新库
	——show  tables;				//显示已有的表
	——drop  database  库名;		//删除库

数据库命名规则
数据库命名规则

——可以使用数字/字母/下划线,但不能纯数字
	——区分大小写,具有唯一性,不能重复
	——不可使用指令关键字、特殊符号

创建test库

mysql> create database test;

表管理命令
新建指定名称的表

	create table 库名.表名(
	字段名1	字段类型(宽度)	约束条件,
	字段名2	字段类型(宽度)	约束条件,
	.. .. ..
	字段名N 字段类型(宽度)	约束条件
	);
创建表

创建一个存储用户信息的表,表字段为姓名、性别、爱好

mysql> create table user(
    -> name char(10),
    -> gender char(10),
    -> hobby char(50)
    -> );

表管理命令

desc  表名;							//查看表结构
select  * from  表名;					//查看表记录
	insert  into  表名  values(值列表);		//插入表记录
	update  表名  set  字段=;			//修改表记录
	delete  from  表名;					//删除表记录
	drop table  表名;					//删除表

MySQL数据类型
在这里插入图片描述

数值类型 续(1)
unsigned 指定使用无符号存储范围

mysql> create table tab2(
 -> age tinyint unsigned	
 -> );      //unsigned 指定使用无符号存储范围

解释:使用无符号存储范围时,不可以存负数
查看表结构

mysql> desc tab2;

枚举类型
ENUM:从给定值的集合中选择单个值

——定义格式:enum(值1,值2,值N)

SET:从给定值集合中选择一个或多个值

——定义格式:set(值1,值2,值N)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值