当前位置:网站首页 > 数据科学与大数据 > 正文

数据库入门基础知识(计算机数据库基础知识)



  1. 什么是数据库:

数据库(Database DB)是按照数据结构来组织、存储和管理数据的仓库(存储数据的仓库),它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

存储表结构数据,到现在可以海量数据Hbase。

数据库就是用来存储,查询,管理数据的一个仓库。---订单数据【数据库中 可以从数据库中查询订单信息】

按照早期的数据库理论,比较流行的数据库模型有三种,

分别为层次式数据库

网络式数据库和

关系型数据库前两者已经基本消失)。

而当今的互联网中,最常用的数据库模型主要是两种即 关系型数据库非关系型数据库

概念:关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。

类似于Excel表格,但是在关系型数据库中,列是固定的 行可以动态添加

常用的关系型数据库: MySQL Oracle SQLserver 【.net语言C#】

非关系型数据库:非关系型数据库也被称为NoSQL数据库,

NoSQL的本意是“Not Only SQL”,指的是非关系型数据库,而不是“No SQL”的意思(没有SQL语句?),因此,NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统关系型数据库的一个有效补充。NoSQL数据库在特定的场景下可以发挥出难以想象的高效率和高性能。

关系型数据库它是以行和列的形式存储数据[mysql oracle sqlServer等],非关系数据库则不是以行和列的形式存储【redis】

SQL 语言 多个关系型数据库基本通用

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

我们安装的是MySQL应用服务程序,用来管理 存取数据。SQL是一门编程语言,是用来在MySQL等关系型数据库中进行 数据的管理 存取操作的。

所以说 我们这门课程叫做 MySQL ,其实学习的是 SQL .

1、数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

2、数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERT、UPDATE和DELETE。它们分别用于添加、修改和删除。

3、数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREATE TABLE 或 DROP TABLE);为表加入索引等。
4. 事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。【mysql高级讲】

学习是SQL语言。 该语言用来操作关系型数据库。【DQL数据查询语言 DML 数据操作语言 DDL数据定义语言】

3.1.1. 连接数据的三种方式(前提保证 MySQL 的服务开启)

第一种、Mysql自带的客户端连接。

第二种、使用命令:

mysql -uroot -proot (-u:用户名)(-p: 密码)

第三种: 使用客户端软件 navicat 和sqlyog等

3.1.2. DDL 定义语言

 

3.1.3. 修改表的结构

增加一列

alter table 表名 add column 列名 数据类型;

删除指定列

alter table 表名 drop column 列名;

修改某一列的数据类型

alter table 表名 modify column 列名 新数据类型

修改列名

alter table 表名 change column 原来的列名 新的列名 数据类型

 
  1. 概念:约束时作用于表中字段上的规则用于限制表中的数据。
  2. 目的:保证数据库中数据的正确、有效性和完整性。

分类:

约束

描述

关键字

非空约束

限制该字段的数据不能为nul

NOT NULL

唯一约束

保证该字段的所有数据都是唯一、不重复的

UNIQUE

主键约束

主键是一行数据的唯一标识,要求非空且唯

PRIMARYKEY

默认约束

保存数据时,如果未指定该字段的值,则采用默认值

DEFAULT

检查约束(8.0.14版本后)

保证字段值满足某一个条件

CHECK

外键约束

用来让两张图的数据之间建立连接,保证数据的一致性和完整性

FOREIGN

概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性

为什么需要外键:

两种方式:

① constraint 外键名称 foreign key 外键字段名 references 主表(主表列名)

② alter table 表名 add constraint

数据类型:

int bigint varchar(长度) char(长度)

decimal(长度,小数) text date

char和varchar区别:char固定长度 varchar()可变

约束:

主键约束 primary key

唯一约束unique

非空约束not null

默认约束default

检查约束(8.0.14以后) check

外键约束constraint foreign key references

DML(Data Mark Lau)数据标记性语言。该语言主要用户对数据库表中的记录进行操作的。【增加 删除 修改】

语法:

-- 为表中所有列添加数据

insert into 表名 values(值,值,值.....)

-- 为指定列添加数据

insert into 表名(列名,列名...) values(值,值....)

-- 批量添加

insert into 表名(列名,列名...) values(值,值....),(值,值....)

 

注意:一定要注意 值 和 列 要个数匹配。

delete from 表名; -- 删除表中所有的记录 [不建议使用(删库跑路)]

delete from 表名 where 条件; -- 根据条件删除满足条件的记录

 

条件有哪些:

  1. 关系运算符: >,>=,<,<=,=,!=
  2. in运算符:
  3. between and
  4. 逻辑运算符:  and(与)  or(或)

语法:update 表名 set 列名=值,列名=值,列名=值.... where 条件;

注意: 最后一个列名=值不要使用,号

 

DQL( Data Query Language)数据查询语言。作用:用于查询数据表中记录。

语法:

select [列名...] from 表名 [where 条件]

%:统配n个字符 _:统配一个字符

 

(as 可省略)

语法: select 列名 as 别名, 列名 as 别名 from 表名 【where 条件】

eg : select name 姓名, age,sex 性别 from t_user;

语法:select distinct 列名,列名 ... from 表名 【where 条件】

eg: select distinct id,name,age from t_user;

语法:select * from 表名 order by 列1,列2...[desc降序 asc升序默认]

eg: -- 先按照年龄升序,年龄相同按照id降序

select * from t_user order by age desc,id desc;

5.5.1. MySQL 数据库(常用)

语法: select * from 表名 limit 起始记录,每页显示条数;

eg: -- 查询第一页的数据 每页显示三条

select * from t_user limit 0,3;

-- 查询第二页的数据 每页显示三条

select * from t_user limit 3,3

-- 查询第三页的数据current 每页显示三条PageSize

select * from t_user limit 6,3

-- 规律: select * from t_user limit (current-1)*pageSize,pageSize;

5.5.2. sqlServer 数据库(不常用)

 

5.5.3. oracle 数据库

 

函数就是mysql中自带的函数。 5大聚合函数

sum(): 求和

count(): 求个数

avg(): 平均值

max(): 最大值

min(): 最小值

eg: select sum(age) 年龄和,max(age) 最大年龄,min(age) 最小年龄,count(id) 个数,avg(age) from t_user;

语法:select 分组的列,聚合函数 from 表名 group by 列名,列名 having 分组后的条件

 

select [distinct] [列名 as 别名,列名 别名, 列名][*]

from 表名

[where 条件]

[group by 分组列]

[having 分组后的条件]

[order by 排序的列]

[limit 起始记录,每页的条数]

基本语法:

select distinct * from 表名

where 条件

group by 分组

having 分组条件

order by 排序

limit 分页。

上面为他得语法结构。顺序不能乱。

执行顺序

  1. from 先确定从哪张表中取数据,所以最先执行 from table
  2. where where 语句是对条件的加以限定
  3. group by 分组语句
  4. 聚合函数
  5. select
  6. distinct
  7. order by
  8. limit

举例:

 

什么是多表联合查询:

前面所讲的查询语句都是针对一个表的,但是在关系型数据库中,表与表之间是有联系的,所以在实际应用中,经常使用多表查询。多表查询就是同时查询两个或两个以上的表。

表与表之间有联系: ----外键。

表与表之间有哪些联系:----

多对一: 例如: 员工表和部门表 学生和班级 外键放置多一方

多对多: 例如: 学生和课程 设置一个中间表

一对一: 例如: 丈夫表和妻子表

为什么需要联表查询?

当我们查询的结果不在一张表中。就需要联表查询。

  1. 内连接: 查询两个表中公共部分。
  2. 外连接:
    左外连接: 查询左边中所有的内容以及公共内容。
    右外连接: 查询右边中所有的内容以及公共内容。
  3. 子连接: 自己和自己连接

7.1.1. 内连接

 

7.1.2. 左外连接

 

7.1.3. 右外连接

 

7.1.4. 自连接

自己连接自己的表

把一个sql查询的结果作为另一个sql查询的条件值。

例一:查询研发部的员工信息。

①查询研发部的部门号

②根据查询的部门号查询对应的员工信息

select * from tb_emp where dept_id=(select id from tb_dept where name='研发部')

查询各个部门中最高薪资的员工信息。

 

  1. 切换mysql数据库
  2. select host,user from user;
  3. 修饰update user set host='%' where user='root';
  4. 刷新配置。FLUSH PRIVILEGES;

到此这篇数据库入门基础知识( 计算机数据库基础知识)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 数据库端口号被占用怎么办(数据库端口号被占用怎么办解决)2025-05-16 21:00:05
  • 大数据算法有哪几种(大数据算法的定义)2025-05-16 21:00:05
  • mongodb数据库等保测评(mongodb如何保证数据一致性)2025-05-16 21:00:05
  • 前端埋点怎么做(前端数据埋点实现)2025-05-16 21:00:05
  • vue父子组件传递数据(vue父子组件传值props)2025-05-16 21:00:05
  • 计算机数据库基础知识(计算机数据库基础知识点总结)2025-05-16 21:00:05
  • 大数据算法定义(大数据算法名词解释)2025-05-16 21:00:05
  • ddd领域驱动开发(ddd领域驱动开发如何从数据库读数据)2025-05-16 21:00:05
  • db3数据库打开(db数据库使用)2025-05-16 21:00:05
  • ad9910中文手册(ad9958中文数据手册)2025-05-16 21:00:05
  • 全屏图片