一、数据库
1、使用数据库的原因
持久化:将数据保存到可掉电式存储设备中以供之后使用
2、常用概念
- DB:数据库,即存储数据的仓库,其本质是一个文件系统,它保存了一系列有组织的数据
- DBMS:数据库管理系统,是一种操作和管理数据库的大型软件。用于建立、使用和维护数据库,对数据库进行统一管理和控制
- SQL:结构化查询语言,专门用来与数据库通信的语言
3、关系型数据库与非关系型数据库
- 关系型数据库RDBMS
- 概念:关系型数据库以行(row)和列(column)的形式存储数据。这一系列的行和列组成了表(table),一组表组成了一个库(database)。表与表之间的数据记录存在关系,例如教师信息表和课程表之间就可能存在联系。它是建立在关系模型基础上的数据库
- 优势:可以执行复杂查询,而且支持事务(用于对安全性能要求很高的数据进行访问)
- 非关系型数据库
- 优势:通过减少不常用的功能,提升性能
- 包括键值型数据库redis、文档型数据库MongoDB、搜索引擎数据库Elasticsearch 等
4、ER模型与表记录的4种关系
- ER(Entity-Relationship)模型中有三个主要概念:实体集、属性、联系集
- 一个实体集或者类(class)对应数据库中的一个表(table),一个实体或者对象(instance)对应表中的一行(row),一个属性(attribute)对应数据库表中的一列(column),也称为一个字段(field)
- 表的关联关系:一对一关联、一对多关联、多对多关联、自我引用
二、SQL
1、SQL分类
- DDL:数据库定义语言,这些语句定义了不同的数据库、表、视图、索引等数据库对象。可以用来创建、修改、删除数据库和数据库表的结构。主要关键字包含
CREATE
、ALTER
、DROP
、RENAME
、TRUNCATE
等 - DML:数据操作语言,用于添加、删除、更新、查询数据库记录,并检查数据完整性。主要语句关键字包含
INSERT
、DELETE
、UPDATE
、SELECT
。其中SELECT是语言的基础,最为重要 - DCL:数据控制语言,用于定义数据库、表、字段、用户的访问权限和安全级别。主要语句关键字包含
GRANT
、REVOKE
、ROLLBACK
、COMMIT
、SAVEPOINT
等
2、SQL的基本规则
- SQL可以写成一行或者多行,当语句较为复杂时,为了提高可读性,我们可以将各子句分行,并且在必要时使用缩进
- 每条语句以分号
;
或者\g
或\G
结束(\g和分号作用相同,\G表示将查询结果进行按列打印,可以使每个字段打印到单独的行,即将查到的结构旋转90度变成纵向) - 关键字不能缩写也不能分行
- 关于标点符号
- 必须保证所有的()、单双引号都是成对的
- 必须使用英文状态下的半角输入方式
- 字符串型和日期时间类型的数据可以使用单引号
' '
表示 - 列的别名尽量使用双引号
" "
,而且不建议省略as
3、SQL的大小写规范
- MySQL在Windows环境下是大小写不敏感的
- MySQL在Linux环境下是大小写敏感的
- 数据库名、表名、表的别名以及变量名是严格区分大小写的
- 关键字、函数名、列名(或字段名)、列的别名(或字段的别名)是忽略大小写的
- 推荐采用统一的书写规范
- 数据库名、表名、表的别名、字段名、字段别名都用小写
- SQL关键字、函数名、绑定变量都大写
4、SQL注释
- 单行注释:
#注释文字
(Mysql特有方式)-- 注释文字
(--
后面必须包含一个空格)
- 多行注释:
/* 注释文字 */
5、命名规则
- 数据库、表名不得超过30字符,变量名限制29个字符
- 必须只能包含A-Z、a-z、0-9、_共63个字符
- 数据库名、表名、字段名等对象名中间不要包含空格
- 同一个MySQL软件中,数据库不能重名,同一个库中,表不能重名,同一个表中,字段不能重名
- 必须保证你的字段没有和保留字、数据库系统或者常用方法冲突。如果坚持使用,请在SQL语句中使用着重号引起来
- 必须保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保持一致性。加入数据类型在一个表中是整数,在另一个表中不能换成字符型
6、数据导入
- 如果是使用命令行,那就使用
source 文件的全路径名
,例如source d:\mySource.sql;
- 如果使用图形化界面的工具,那可以直接导入数据
如有错误,欢迎指正!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136727.html