【数据库】MySQL数据库基础
文章目录
- 数据库介绍
- 什么是数据库
- 数据库分类
- 数据库的操作
- 准备工作
- 显示当前的数据库
- 创建数据库
- 选择数据库
- 删除数据库
- 常用数据类型
- 数值类型
- 字符串类型
- 日期类型
- 表的操作
- 创建表
- 查看表结构
- 删除表
- 内容总结
- 练习
数据库介绍
什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
数据库存储介质:
磁盘
内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
数据库分类
数据库大体可以分为 关系型数据库 和 非关系型数据库
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。
常用的关系型数据库如:
- Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。 - SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
非关系型数据库:
(了解)
不规定基于SQL实现。现在更多是指NoSQL数据库,如:
- 基于键值对(Key-Value):如 memcached、redis
- 基于文档型:如 mongodb
- 基于列族:如 hbase
- 基于图型:如 neo4j
关系型数据库与非关系型数据库的 区别:

数据库的操作
准备工作

一些简单的操作我们可以使用命令行来演示,这会用到截图中的这个软件。在官网下载时这个可以顺便下载下来。

首先输入你自己设置的密码,然后就可以开始使用sql了。

显示当前的数据库

创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
示例:


选择数据库

select()database;执行后会显示当前正在使用的数据库,如图可见使用use 1111之后,1111这个数据库就开始使用了。
删除数据库
注:!!!删除数据库是一个非常危险的行为!!!!!!!!
在实际工作中,我们应该尽量避免删除数据库以防不好的后果发生。
语法:
DROP DATABASE [IF EXISTS] db_name;

常用数据类型
数值类型


字符串类型

日期类型

表的操作
创建表
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype
);
field表示表名,datatype是表中数据的类型

查看表结构

直接desc+表名就可以查看。
删除表
语法:


内容总结
操作数据库:
-- 显示
show databases;
-- 创建
create database xxx;
-- 使用
use xxx;
-- 删除
drop database xxx;
常用数据类型:
INT:整型
DECIMAL(M, D):浮点数类型
VARCHAR(SIZE):字符串类型
TIMESTAMP:日期类型
操作表:
-- 查看
show 表;
-- 创建
create table 表名(字段1 类型1,字段2 类型2,...
);
-- 删除
drop talbe 表名;
练习
有一个商店的数据,记录客户及购物情况,有以下三个表组成:
商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供
应商provider)
客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证
card_id)
购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
-- 创建数据库
create database bit_mall character set utf8mb4 collate utf8mb4_0900_ai_ci;
-- 创建表
drop table if exists goods;
create table goods(
goods_id bigint,
goods_name varchar(20),
unitprice int,
category varchar(10),
provider varchar(20)
);drop table if exists customer;
create table customer(
customer_id bigint,
name varchar(20),
address varchar(30),
email varchar(30),
gender bool,
card_id varchar(18)
);drop table if exists purchase;
create table purchase(
order_id bigint,
customer_id bigint,
goods_id bigint,
nums int
);
当我们写一些像这样的很长的代码时,我们可以用一些更方便的工具,例如:

这个在官网也可以下载。

我们写完代码后,可以直接点击所示按钮运行,也可以在命令行中运行:
在命令行中运行的话,需要先将代码保存成.sql文件才可以使用。


再重复创建就会报错了。
