目录
一、数据库简介
1.1 数据库
- 概念:在计算机中有组织的存储数据的仓库,简单来说就是存储数据的仓库
- 例如:现实中图书馆是存放书本的地方,图书馆就是书籍的管理仓库
1.2 数据库的分类
-
关系型数据库(RDBMS:relational database management system)
作用:以表格的形式存储大批量的数据方式
-
常见关系型数据库软件
- Oracle:大型项目中应用。比如:电信行业、电网行业等。
- MySQL:常见互联网类项目应用。比如:电商平台等。
- Microsoft SQL server:常见于微软服务器系统相关应用的项目。
- SQLite:轻量级应用系统。
-
关系型数据库的核心要素
由小到大范围的构成
- 数据行
- 数据列
- 数据表
- 数据库
-
-
非关系型数据库(No SQL)
作用:以Key/value(键值对)、文本、图片等形式存储数据方式【不是以表格形式存储】
- 常见非关系型数据库
- mongodb
- redis
- HBASE
- 常见非关系型数据库
-
关系型数据库和非关系型数据库在实际中的应用
- RDBMS:存储大批量不经常变化的数据
- NoSQL:经常用于缓存,读取速度快,存储一些频繁使用的数据
在实际工作中,常常是关系型数据库和非关系型数据库结合一起使用
1.3 SQL介绍
- 结构化查询语言SQL (Structured Query Language):针对于关系型数据库的操作语言
- 应用划分
- 数据查询语言: DQL (data query language), 对于数据库表中的数据查询操作,关键词:select
- 数据库操作语言: DML (data manipulation language), 对于数据库表中的数据进行操作(增删改),关键词: insert、delete、update
- 数据库定义语言: DDL (data defination language),对于数据库或者数据表本身的操作(创建、修改、删除) , 关键词: create、alter、drop
- 数据库控制语言: DCL(data control language),对于数据库操作进行授权或者回收权限操作,关键词: grant、revoke
二、MySQL的介绍
2.1 MySQL简介
- MySQL概念:是一种关系型数据库(应用软件)
- MySQL的特点:
- 支持多操作系统、多编程语言
- 可移植性好,开源社区版免费
- MySQL组成
- 服务端:已经在虚拟机上安装的MySQL应用程序
- 客户端:编写语句返回结果的交互窗口(比如DBeaver)
- DBeaver
- Navicat
- workbench
2.2MySQL 连接
-
命令行连接数据库
#通过终端命令行连接数据库 mysql -u root -p # 输入数据库账号的密码 # -u 表示后面需要数据库管理员账号root # -p 表示连接的时候需要输入数据库密码 # -h 表示后面需要连接数据库主机的IP # -P 表示后面需要连接MySQL数据库的端口号,默认3306
-
DBeaver连接数据库
步骤: 1.检查centos的IP地址 2.打开DBeaver新建连接选择MySQL 3.通过DBeaver连接输入上述查到IP地址进行连接 4.测试连接是否能够通,并确认连接
三、DBeaver 操作MySQL
3.1 鼠标操作数据库
-
创建数据库
-
使用数据库
- 双击打开数据库
-
修改数据库
-
双击打开直接修改数据库(不能修改数据库名)
-
-
删除数据库
- 右键删除数据库
3.2鼠标操作表
--eg:
--创建数据表student,要求需要有学号(ID),姓名(name)字段
--设计数据表student,要求增加年龄字段(age)
--删除数据库student
-
新建表
-
修改表(结构)
- 删除表
- 选中表右键删除
3.3鼠标操作数据
-
新增、修改、删除、清空数据
3.4命令操作数据库
-
数据库基本操作
字符:在计算机中通过文字、字母、符号等形式表示数据的形式
字符集:计算机中每个字符对应的二进制编号的集合。
编码方式:编码方式就是将字符转换为二进制的标准。
排序规则:描述字符集内字符的排列顺序。
-
数据库操作语法
-- 创建数据库 create database 数据库名 character set 字符集 collate 排序规则; create database 数据库名 charset 字符集 collate 排序规则; -- 修改数据库 alter database 数据库名 character set 字符集 collate 排序规则; -- 删除数据库 drop database 数据库名; -- 查看所有的数据库 show databases; -- 使用(打开)数据库 use 数据库名; -- 查看当前使用的数据库(指通过use打开的数据库) select database();
-
案例演示
#创建数据库 create database bbb; #修改数据库(只能修改字符集和排序规则) alter database bbb charset utf8 collate utf8_general_ci; #删除数据库 drop database bbb; #使用数据库 use bbb; #查看当前使用的数据库 select database(); #查看所有数据库 show databases;
四、数据类型及约束⭐️
作用:对于操作的数据进行 正确性 和 完整性 的验证
简单理解:告诉使用者我们输入的数据应该遵循的格式、规律,方便计算机(数据库系统)识别
4.1数据库常见数据类型
下表是MySQL数据库常见的数据类型:
例如:decimal(3,2) ----->总长度是3位,小鼠位是2位
4.2数据库常见约束
-
对于输入数据的要求
- 主键:在一张表中存储数据的物理顺序
一张表只能有一个主键,主键作用相当于(非空+唯一)
- 外键:做表关联使用,对于关系字段进行约束。主要限制主表和副表进行数据一致性和正确性
- 唯一:表示输入的数据不能重复
- 非空:该字段对应数据不能为空
- 自增长:对于整数类型进行数据的递增,一般和主键配合使用
- 默认:创建表时该字段可以有初始化的值,不输入时使用默认值
五、数据库其他操作⭐️
-
备份/恢复数据库
作用:在测试工作中对于原始数据的保存和恢复,防止数据丢失
-
备份
-
恢复数据
-
-
常用快捷键
SQL语句操作快捷键 注释快捷键:ctrl+/
六、数据表操作
6.1创建表⭐️
-
语法格式:
-- 创建表 create table 表名 ( 字段1 数据类型 [约束], 字段2 数据类型 [约束], ... );
-
注意事项:
- SQL中所有标点符号一律用英文格式
- 括号中字段和字段之间用英文逗号分割
- 字段名、数据类型、约束次序不能变
- 数据类型必须有,约束可选
-
案例演示
#1.创建学生表(student)字段要求如下:
#姓名(长度为10)、年龄、身高(保留2位小数)
create table student(
name varchar(10),
age int,
height decimal(3,2) --例如:1.72m
);
#2.例:创建一个学生表(stu),
# 要求:
#学号是整型无符号类型,学号有主键约束,并且是自增长的
#姓名长度为10
#年龄整型无符号
#身高保留两位有效数字,并且长度为3