数据库入门
什么是数据库
数据库:是指长期存储在计算机内、有组织的数据集合。简而言之,数据库就是一个存储数据的地方。
数据库分类-关系型数据库
将数据间的关系以数据库表的形式加以表达,并将数据存储在表格中,以便于查询。
常用关系型数据库:
- Oracle:在大型项目中使用,例如:银行、电信等项目
- MySQL:Web 项目中使用最广泛的关系型数据库
- Microsoft SQL Server:在微软的项目中使用
- SQLite:轻量级数据库,主要应用在移动平台
数据库分类-非关系型数据库
常见非关系型数据库:
- Redis:开源,可做数据库、缓存、消息中间件和队列
- Mongodb:面向文档的开源数据库系统,将数据存储为文档
- Hbase:大数据存储
SQL介绍
SQL:结构化查询语言通过SQL语言,可以对数据库进行操作,主流的关系型数据库都支持SQL语言,在MySql中SQL语言不区分大小写。
-
对于数据库的操作(主要):
- 数据查询:查询语句
- 数据更改:新增、修改、删除语句
-
关键字
- 查询语句--select;新增语句--insert;修改语句--update;删除语句--delete
MySQL介绍
MySql是一个关系型数据库,由瑞典MySql AB公司开发,后被Sun公司收购,Sun公司后来又被Oracle收购。目前MySql属于Oracle的产品。MySql产品分为社区版和商业版本,社区版本免费使用。官网:www.mysql.com/
MySQL特点
- 可移植性好
- 支持多操作系统
- 支持多种编程语言
- 开源、社区版免费
- 支持多线程
- 优化SQL查询算法
- 多种数据库连接方式
- 支持多语言编码格式
MySQL组成
MySQL组成:
- MySQL服务器:存储数据并解析编译后的SQL语句,将执行结果返回给客户端。
- MySQL客户端:下发用户要执行的SQL语句,并显示服务器返回的执行结果
MySQL连接-图形化界面工具连接
MySQL图形化界面工具有很多种,DBeaver用的比较多,还有Sqlyog、Navicat、DataGrip。
拥有可视化界面,让我们操作数据库以及结果的展示更加的直观。
-
注意
- MySQL服务器安装完成之后,默认就已经安装了命令行客户端。
- 在连接MySQL服务器之前需要知道MySQL服务器的IP地址及对应的端口(默认3306)。
- Windows服务器可以通过ipconfig查看IP地址,Linux中可以通过ifconfig查看IP地址
连接Linux中MySQL服务服务操作
MySQL基础理论
数据类型与约束
常用数据类型
-
整型:int;
有符号范围(-2147483648 ~2147483647) 、无符号范围(0 ~ 4294967295)
-
字符串:varchar;
范围(0~65533) 、一个字母或一个中文点一个字符,例如:varchar(3) 表示最多存3个字符
-
小数:decimal
示例:decimal(5, 2),表示该字段可以存5位数,其中小数位数为2,整数为3
-
时间日期:datetime
范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),示例: 2021-01-01 12:29:59
数据约束
-
数据约束主要是指对数据库中数据进行限制,以确保数据的正确性、有效性、一致性。
-
常见数据约束有:
主键(primary key):物理上存储的顺序
非空(not null):此字段不允许填写空值
惟一(unique):此字段的值不允许重复
默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
DBeaver操作MySQL
目标:重点掌握数据库创建。日常工作中创建表和数据操作,更多使用SQL语句完成。
-
操作数据库(记得选择编码格式为--utf-8)
-
操作数据表
-
选择正确的数据库,点击右键创建表
-
设计完表之后,先保存,然后再弹出框中选择"执行"按键,才能完成表的创建
-
DBeaver编辑器使用
-
创建编辑器
-
注释
-
保存编辑器
-
其他操作
-
DBeaver执行数据库命令
命令操作数据库
- 查看所有数据库:show databases;
- 使用数据库:use 数据库名;
- 查看当前使用数据库:select database();
- 创建数据库:create database 数据库名
- 删除数据库:drop database 数据库名;
命令操作数据库表
-
创建表语法格式:
create table 表名(
字段名称1 数据类型1,
字段名称2 数据类型2,
字段名称3 数据类型3
...... ......
);
-
删除表语法格式:
drop table if exists 表名;
或者:
drop table 表名;
-
查看当前数据库所有的表:show tables;
-
查看表结构:desc 表名;
数据增删改查
数据增加语法格式
-
全字段增加数据(主键自增长,可以用0或null代替)
insert into 表名 values(…);
-
选择字段添加
insert into 表名 (字段1, 字段2, …) values(值1, 值2, …);
-
添加多行数据
insert into 表名 (字段1, 字段2, …) value (值1, 值2, …);
insert into 表名 (字段1, 字段2, …) value (值1, 值2, …);
或者
insert into 表名 (字段1, 字段2, …) values (值1, 值2, …), (值1, 值2, …) ...
删除数据语法格式
-
delete(删除表中某一部分记录,自增长字段不会被删除)
delete from 表名 where 条件
-
Truncate(删除数据时,表结构会保留,自增长字段会被删除,新增数据自增长字段从1开始。执行效率低于drop命令)
truncate table 表名
修改数据语法格式
- update 表名 set 字段名1=值1,字段名2=值2... where 条件
查询数据语法格式
查询部分字段数据
select 字段1,字段2,... from 表名
去重查询
select distinct 字段1,... from 表名
条件查询
select 字段1,字段2... from 表名 where 条件;
where支持多种运算符进行条件处理
-
比较运算(等于:=,大于:>,小于:=,小于等于: