网站首页 > 基础教程 正文
本文以MySQL数据库、以数据库管理工具DBeaver为例介绍数据库基本概念。
数据库:数据库是一系列表的集合,表之间存在主外键关系。数据库通常指关系型数据库。
表:表是由多个字段组成的用于存储数据的集合。
字段:表中一列叫做一个字段。字段用于存储某一类型数据,一个字段必须指定一个数据类型。常用数据类型有:整数、浮点数、字符串、布尔、日期。
记录:表中一行叫做一条记录。
主键:用于唯一标识表中一行记录的字段,叫做主键。主键通常设置为自动增长的整数类型。主键也可以由多个字段组成。
辅键:除主键外也能唯一标识表中一行记录的一个字段或多个字段,叫做辅键。
外键:用于建立表与表之间关联关系的字段称为外键。外键字段的赋值只能是其关联表的主键值。
索引:索引常用于提高数据检查效率。通常需要为经常用于查询数据的字段建立索引。数据库会自动为主键、辅键、外键创建索引。
唯一值索引:索引除用于提高数据检查效率外,还可以对字段赋值进行约束,要求某一个字段的值或某几个字段值的组合唯一,这样的索引叫做唯一值索引。
内置函数:函数分为字符串函数(如:char_length(str), concat(str, str, …))、数值函数(如:round(X), abs(X))、日期函数(如:now(), date(expr))、流程控制函数(如:case,if(expr1, expr2, expr3))、聚集(group by)函数(如:count(), sum(), avg(), min(), max())等。
操作符:操作符分为数值运算符(如:+-*/%)、逻辑运算符(如:and或&&,or或||,not或!)等等。
存储过程:存储在数据库中的一系列SQL的集合,用于完成某项特定功能。存储过程不能有返回值。
存储函数:存储函数用于封装一段SQL代码,完成一种特定的功能,返回结果。
存储函数与存储过程的区别:
1)存储函数有且只有一个返回值,而存储过程不能有返回值。
2)存储函数只能有输入参数,而且不能带in, 而存储过程可以有多个in,out,inout参数。
3)存储过程中的语句功能更强大,存储过程可以实现很复杂的业务逻辑,而存储函数有很多限制,如不能在函数中使用insert,update,delete,create等语句;存储函数只能完成查询的工作,可接受输入参数并返回一个结果。
4)存储过程可以调用存储函数,但存储函数不能调用存储过程。
5)存储过程一般是作为一个独立的部分来执行(用call调用)。而存储函数可以作为查询语句的一个部分来调用。
- 上一篇: 干货 | 如何用SQL做留存率分析
- 下一篇: 日志服务 SQL 引擎全新升级
猜你喜欢
- 2025-01-09 Oracle数据库面试题汇总
- 2025-01-09 Oracle AWR解析-Report Summary
- 2025-01-09 想要成为数据分析师,这些Excel必备知识点你得掌握
- 2025-01-09 java开发中常用Oracle函数实例总结比较,当真不少
- 2025-01-09 DriveWorks其实是这么回事
- 2025-01-09 EXCEL做数据分析,学会这些就入门了
- 2025-01-09 一场pandas与SQL的巅峰大战(六)
- 2025-01-09 Oracle数据库知识 day01 Oracle介绍和增删改查
- 2025-01-09 小姐姐带你学SQL
- 2025-01-09 数据分析师必备的五类Excel数据分析函数,超全总结,易收藏
- 05-22Linux cron任务计划
- 05-22测试人员如何在linux服务器中查询mysql日志?
- 05-22Nginx命令最全详解(29个最常用命令)
- 05-22初识自动化网络编排器NSO,轻松配置复杂的多厂商网络
- 05-22Nacos在企业生产中如何使用集群环境?
- 05-22如何从 MySQL 错误日志中排查数据库故障
- 05-22Linux面试最高频的5个基本问题
- 05-22linux网卡混杂模式
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)