自学网站设计与建设,石家庄建站工具,网站后台域名,h5网站要多久数据库的相关概念#xff1a;
DB#xff1a;数据库#xff08;Database#xff09;#xff1a; 即存储数据的仓库#xff0c;其本质是一个文件系统。保存了一系列有组织的数据。 DBMS#xff1a;数据库管理系统#xff08;Database Management System#xff09;
DB数据库Database 即存储数据的仓库其本质是一个文件系统。保存了一系列有组织的数据。 DBMS数据库管理系统Database Management System 是一种操纵和管理数据库的大型软件用于建立、使用和维护数据库对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 SQL结构化查询语言Structured Query Language 专门用来与数据库通信的语言。 RDBMS关系型数据库Relational Database Management System 关系型数据库模型是把复杂的数据结构归结为简单的二元关系即二维表格形式。 关系型数据库以行row和列column的形式存储数据以便于用户理解。这一系列的行和列被称为表table一组表组成了一个库database。 表与表之间的数据记录有关系relationship。现实世界中的各种实体以及实体之间的联系均用关系模型类表示。关系型数据库就是建立在关系模型基础上的数据库。 SQL就是关系型数据库的查询语言。 关系型数据库的优势 复杂查询可以用SQL语句方便地在一个表以及多个表之间做非常复杂的数据查询。 事务支持使得对于安全性很高的数据访问要求得以实现。 非关系型数据库
基于键值对存储数据不需要经过SQL层的解析性能非常高。同时通过减少不常用的功能进一步提高性能。 关系型数据库设计规则 关系型数据库的典型数据结构就是数据表这些数据表的组成都是结构化的。 将数据放到表中表再放到库中。一个数据库可以有多个表每一个表都有一个名字用来标识自己。表名具有唯一性。 表具有一些特性这些特性定义了数据在表中如何存储类似于“类”。 表、记录、字段 E-Rentity-relationship实体-联系模型中三个主要概念实体集、属性、联系集。 一个实体集class对应于数据库中的一个表table一个实体instance则对应数据库表中的一行row也称为一条记录record。一个属性attribute对应于数据表中的一列column也称为一个字段field。 表的关联关系 表与表之间的数据记录有关系relationship。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。 四种关联关系一对一关系一对多关系多对多关系自我引用。 SQL的分类 DDLData Define Language、数据定义语言这些语句定义了不同的数据库、表、视图、索引等数据库对象还可以用来创建、删除、修改数据库和数据表的结构。 主要的语句关键字包括CREATE、DROP、ALTER、RENAME、TRUNCATE等。 DMLData Manipulation Language、数据操作语言用于添加、删除、更新和查询数据库记录并检查数据完整性。 主要的语句关键字包括INSERT、DELETE、UPDATE、SELECT等。 DCLData Control Language、数据控制语言用于定义数据库、表、字段、用户的访问权限和安全级别。 主要的语句关键字包括GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。 由于查询语句使用的比较频繁所以很多人将查询语句分出类作为一类DQL数据查询语言也有将COMMIT、ROLLBACK去出来称为TCL事物控制语言。 SQL语言的规则与规范
基本规则 SQL可以写在一行或多行。为了提高可读性各子句分行写必要时使用缩进。 每一条命令以;或\g或\G结束。 关键字不能被缩写也不能分行。 关于标点符号 · 必须保证所有的括号、引号是成对结束的。 · 必须使用英文状态下的半角输入方式即要用英文输入写代码不能用非英文输入。 · 字符串型和日期时间类型的数据可以使用单引号表示。 · 列的别名尽量使用双引号不建议省略as。 MySQL大小写的规范建议遵守 MySQL在Window环境下大小写不敏感 MySQL在Linux环境下大小写敏感 数据库名、表名、表别名、变量名是严格区分大小写的。 SQL关键字、函数名、绑定变量等都大写。 注释
单行注释 方式①#注释文字MySQL特有 方式②-- 注释文字--后面必须有一个空格 多行注释 /*注释文字*/ 命名规则 数据库、表名不得超过30个字符变量限制为29个。 必须只能包含A-Z、a-z、0-9、_ 共63个字符。 数据库名、表名、字段名等对象名中间不要包含空格 同一个MySQL软件中数据库不能重名。同一个库中表不能重名。同一个表中字段不能重名。 必须保证字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用要在SQL语句中使用着重号引起来。 保持字段名和类型的一致性在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数在另一个表里就别变成整数。 基本的SELECT ... FROM ... 结构
SELECT ...字段1字段2…… FROM ...表名
表名指字段所在的表名如果字段并不在某个表使用dual伪表当表名。
*符号放在字段处表示相应表中的所有的字段。 列的别名 重命名一个列便于计算建议别名简短并见名知意。 紧跟列名可以选择在列名和别名之间加入关键字AS也可以省略。别名使用双引号以便于在别名中包含空格或特殊的字符并区分大小写。 AS全称alias别名。 例如
SELECT sigma_man sigma , best_friend AS bsfd FROM classmate , teacher AS my teacher; 去除重复行 在SELECT关键字后加上DISTINCT关键字即可将指定字段出现重复的行去除。 例如
SELECT DISTINCT member_id FROM employee; 空值参与运算 空值NULL意味着“无” 所有的运算符或列值遇到NULL值运算的结果都为NULL。 着重号 若字段名、表名和保留字、数据库系统或常用方法冲突就要加上着重号 引起来。 例如SELECT * FROM ORDER 查询常数
查询操作时若查询的字段为一个常数则会有相应的常数的列列的内容都是此常数。 显示表结构 DESCRIBE 表名; DESCRIBE也可以用DESC替换 用于显示表中的字段的详细信息。 过滤数据
语法 SELECT 字段1字段2…… FROM 表名 WHERE 过滤条件 ·使用WHERE语句将不满足条件的行过滤掉。
·WHERE子句紧跟FROM子句。