数据库:让杂乱无章的数据充满价值

1.数据库

  • 数据:能够输入到计算机中并可以被识别处理的信息集合。
  • 数据处理概述
    数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说有价值、有意义的数据。

在这里插入图片描述

1.1概述

  • 数据存储
    人工管理—>文件管理—>数据库管理

  • 数据库应用领域
    在这里插入图片描述

  • 基本概念

  • 数据库:按照数据的一定结构,存储管理数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合。

  • 数据库管理系统:管理数据库的软件,用于建立和维护数据库。
    在这里插入图片描述

  • 关系型数据库和非关系型数据库
    关系型:采用关系模型(二维表)组织数据结构的数据库。如Oracle 、SQL_Server、 MySQL
    非关系型:不采用关系模型(二维表)组织数据结构的数据库。 如:MongoDB、Redis

在这里插入图片描述

1.2 MySQL

在这里插入图片描述
官网地址:https://www.mysql.com/

  • MYSQ特点
    • 1.开源,使用C/C++编写
    • 2.可以在不同平台使用
    • 3.提供了C、C++、python、java等众多语言的API
    • 4.存储结构优良,运行速度快
    • 5.功能全面丰富
  • MYSQL安装
  • 启动和连接MYSQL服务

    • 服务端启动

      • 查看MYSQL状态 : sudo service mysql status
      • 启动/停止/重启服务:sudo service mysql start/stop/restart
    • 连接数据库

      mysql    -h  主机地址   -u  用户名    -p  
      

注意:

  1. 回车后输入数据库密码 (我们设置的是123456)
    如何设置密码见博主另一篇文章
    Ubuntu21.10系统下mysql数据库的安装和密码修改设置
  2. 如果链接自己主机数据库可省略 -h 选项
  • 关闭连接
  ctrl-D
  exit
  • MySQL数据库结构
    数据元素–>记录–>数据表–>数据库
    在这里插入图片描述

  • 基本概念解析

    • 数据表(table):存储数据的表格
    • 字段(column):列
    • 记录(row):行
      在这里插入图片描述

1.3 SQL语言

  • 什么是SQL

结构化查询语言(Structured Query Language),一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  • SQL语言特点
    • SQL语言基本上独立于数据库本身
    • 各种不同的数据库对SQL语言的支持与标准存在着细微的不同
    • 每条命令以 ; 结尾
    • SQL命令(除了数据库名和表名)关键字和字符串可以不区分字母大小写

2. 数据库基础操作

2.1数据库管理

1.查看已有库

show databases;

2.创建库

create databases 库名[character set utf8];
create databases 库名[charset=utf8];

注意:数据库命名
1. 数字、字母、下划线,但不能使用纯数字
2. 库名区分字母大小写
3. 不要使用特殊字符和mysql关键字

3.切换库

use 库名;

4.删除库

drop databases 库名;

2.2数据表管理

  • 基本思考过程
    • 1.确定存储内容
    • 2.明确字段组成
    • 3.确定字段数据类型
2.2.1基础数据类型
  • 数字类型
    • 整数类型:INT,SMALLINT,TINYINT,MEDIUMINT,BIGINT
    • 浮点类型:FLOAT,DOUBLE,DECIMAL
    • 比特值类型:BIT
      在这里插入图片描述
> 注意:
>
> 1. 对于准确性要求比较高的东西,比如money,用decimal类型减少存储误差。声明语法是DECIMAL(M,D)。M是数字的最大数字位数,D是小数点右侧数字的位数。比如 DECIMAL(6,2)最多存6位数字,小数点后占2,取值范围-9999.999999.99> 2. float(52)  float后的数字5表示数字位数,2表示精确到小数点后2位。
> 3. 比特值类型指01值表达2种情况,如真,假。

------

字符串类型:

  • 普通字符串: CHAR,VARCHAR
  • 存储文本:TEXT
  • 存储二进制数据: BLOB
  • 存储选项型数据:ENUM,SET
    注意:
    1. char:定长,即指定存储字节数后,无论实际存储了多少字节数据,最终都占指定的字节大小。默认只能存1字节数据。存取效率高。
    2. varchar:不定长,效率偏低 ,但是节省空间,实际占用空间根据实际存储数据大小而定。必须要指定存储大小 varchar(50)
    3. enum用来存储给出的多个值中的一个值,即单选,enum(‘A’,‘B’,‘C’)
    4. set用来存储给出的多个值中一个或多个值,即多选,set(‘A’,‘B’,‘C’)
2.2.2 表的基本操作
  • 创建表
    create table 表名(字段名 数据类型 约束,字段名 数据类型 约束,…字段名 数据类型 约束);
create table class (
name varchar(30),
age tinyint,
sex enum('m','w'),
score float
);
  • 字段约束
    • 无符号:unsigned
    • 不为空:not null
    • 默认值:default
    • 字段说明:comment
    • 主键自增:auto_increment —>数值自动加1
    • 定义主键:primary key —>主键不能重复,且不能为空
e.g.  创建班级表
create table class (
id int primary key auto_increment,
name varchar(30) not null,
age tinyint unsigned,
sex enum('m','w','o'),
score float default 0
);

e.g 创建兴趣班表
create table hobby(
id int primary key auto_increment,
name char(30) not null,
hobby set("sing","dance","darw"),
level char comment "评级",
price decimal(7,2),
remark text comment "备注信息”
);
  • 查看数据表
show tables;
  • 查看表结构
desc 表名;
  • 查看数据表创建信息
show create table 表名;
  • 删除表
drop table 表名;

2.3 表数据基本操作

2.3.1 插入(insert)
insert into 表名 values (1,值2...),(1,值2...),...;
insert into 表名 (字段1,...) values (1,值2...),...;

* values 也可以写 value
e.g.
insert into class values
(1,"Lily",18,'f',89),
(2,"Lucy",18,'f',76),
(3,"Tom",17,'m',83);

insert into class
(name,age,sex,score)
values
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值