目录
✨本节目标✨
- 📖了解数据库及其相关概念
- 📔数据库的操作:创建和删除数据库
- 📃表的操作:创建和删除表,表的增删改查
一. 📖数据库介绍
1.1 什么是数据库
数据库:DB(DataBase)就是按照数据结构来组织、存储和管理数据的仓库。
1.2 数据库分类
关系型数据库:SQL(Structured Query Language)
- 👉通过表和表之间,行和列之间的关系进行数据的存储
- 👉通过外键关联来建立表和表之间的关系
- 👉MySQL,Oracle,SQLlite,Sql Server
非关系型数据库:NoSQL
- 👉指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
- 👉Redis,MongoDB
1.3 相关概念
DBMS(数据库管理系统)
- 👉数据库的管理软件,科学有效的管理,维护和获取我们的数据
二. 📔数据库的操作
2.1 操作数据库
1️⃣创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名;
2️⃣查看数据库
SHOW DATABASE;
3️⃣使用数据库
-- 如果表名或者字段名是特殊字符,则需要带 ' '
use 数据库名;
4️⃣删除数据库
DROP DATABASE [IF EXISTS] 数据库名;
2.2 常用数据类型
数值类型
数据类型 | 描述 | 大小 |
---|---|---|
tinyint | 十分小的数据 | 1个字节 |
smallint | 较小的数据 | 2个字节 |
mediumint | 中等大小的数据 | 3个字节 |
int | 标准的整数 | 4个字节 |
bigint | 较大的数据 | 8个字节 |
float | 浮点数 | 4个字节 |
double | 浮点数 | 8个字节 |
字符串类型
数据类型 | 描述 | 大小 |
---|---|---|
char | 字符串固定大小 | 0~255 |
varchar | 可变字符串 | 0~65535 |
tinytext | 微型文本 | 2^8-1 |
text | 文本串 | 2^16-1 |
时间日期类型
数据类型 | 描述 | 格式 |
---|---|---|
date | 日期格式 | YYYY-MM-DD |
time | 时间格式 | HH:mm:ss |
datetime | 最常用的时间格式 | YYYY-MM-DD HH:mm:ss |
timestamp | 时间戳,1970.1.1到现在的毫秒数 |
三. 📃表的操作
3.1 表的基础操作
1️⃣表的创建
CREATE TABLE `book` (
`idbook` INT NOT NULL AUTO_INCREMENT,
`bookname` VARCHAR(45) COMMENT `书名`,
`author` VARCHAR(45) COMMENT `书籍作者`,
`counts` INT `书籍数目`,
PRIMARY KEY (`idbook`));
2️⃣查看表结构
DESC 表名;
3️⃣表的删除
-- 删除 book 表
DROP TABLE book;
-- 如果存在 book 表,则删除 book 表
DROP TABLE if exists book;
3.2 表的增删查改
1️⃣新增(Create)
单行数据+全列插入
-- 插入记录,book 数量必须和定义表的列的数量及顺序一致
INSERT INTO book VALUES (001,'活着','余华',5);
多行数据+指定列插入
INSERT INTO book (idbook, bookname, author) VALUES
(002, '朝花夕拾' , '鲁迅' ),
(003, '水浒传' , '施耐庵' );
2️⃣查询(Retrieve)
全列查询
-- 通常情况下不建议使用 * 进行全列查询
-- 1. 查询的列越多,意味着需要传输的数据量越大;
-- 2. 可能会影响到索引的使用。
SELECT * FROM book;
指定列查询
-- 指定列的顺序不需要按定义表的顺序来
SELECT bookname,author,counts FROM book;
排序:ORDER BY
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
-- 查询书籍作者和 书籍id,按 书籍id 排序显示
SELECT bookname, idbook FROM book ORDER BY idbook;
条件查询:WHERE
-- 查询书籍数目小于5的书籍
SELECT bookname, counts FROM book WHERE counts < 5;
NULL 的查询:IS [NOT] NULL
-- 查询 书籍数目 已知的书籍
SELECT bookname, counts FROM book WHERE counts IS NOT NULL;
-- 查询 书籍数目 未知的书籍
SELECT bookname, counts FROM book WHERE counts IS NULL;
3️⃣修改(Update)
-- 将三国演义的书籍数量变更为 9
UPDATE book SET counts = 9 WHERE bookname = '三国演义';
-- 将所有书籍的数量更新为原来的 2 倍
UPDATE book SET counts = counts * 2;
4️⃣删除(Delete)
-- 删除朝花夕拾的数据
DELETE FROM book WHERE bookname = '朝花夕拾';
-- 删除整表数据
DELETE FROM 表名;