数据库入门
1. Batabase和DBMS
数据库(Database) 指长期存储在计算机内的、有组织的、可共享的数据集合。
数据库管理系统(DBMS) 是数据库系统的核心软件之一,是位于用户与操作系统之间的数据管理软件,用于建立,使用和维护数据库。它的主要功能包括数据定义、数据操作、数据库的运行管理、数据库的建立和维护等几个方面。
2. 关系型数据库
关系型数据库是由多张能互相连接的表组成的数据库。
常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。
3. 非关系型数据库
非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
常见的非关系型数据库有 Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等。
MySQL基本操作
1.术语
- 表的列(垂直方向)称为 字段 ,是具有相同数据类型的数据集合。表的行(水平方向)称为记录(Record),相当于一条数据。
- 主键:若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 。必需被指定为“PRIMARY KEY”,不能有重复的,不允许为空。
- 外键:是能确定另一张表记录的字段,用于保持数据的一致性。用于与另一张表的关联。表的外键是另一表的主键, 外键可以有重复的, 可以是空值。
- 索引:索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
2. 数据类型
- 数值类型
整数类型包括 TINYINT(1个字节=8 bit:-128~127)、SMALLINT(2 Byte)、MEDIUMINT(3 B)、INT(4 B)、BIGINT(8 B),浮点数类型包括 FLOAT(4 B) 和 DOUBLE(8 B),定点数类型为 DECIMAL(M,D)(M+2个字节)(M表示有效数字精度,D是小数点后D位)。 - 日期/时间类型
包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。 - 字符串类型
包括 CHAR、VARCHAR(L+1个字节)、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。 - 二进制类型
包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。
3. SQL
** SQL **(Structured Query Language,结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL 包含以下 4 部分:
- 数据定义语言(Data Definition Language,DDL)
用来创建或删除数据库以及表等对象,主要包含以下几种命令:
DROP:删除数据库和表等对象
CREATE:创建数据库和表等对象
ALTER:修改数据库和表等对象的结构 - 数据操作语言(Data Manipulation Language,DML)
用来变更表中的记录,主要包含以下几种命令:
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据 - 数据查询语言(Data Query Language,DQL)
用来查询表中的记录,主要包含 **SELECT **命令,来查询表中的数据。 - 数据控制语言(Data Control Language,DCL)
用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对数据库中的用户设定权限。主要包含以下几种命令:
GRANT:赋予用户操作权限
REVOKE:取消用户的操作权限
COMMIT:确认对数据库中的数据进行的变更
ROLLBACK:取消对数据库中的数据进行的变更
约束 CONSTRAINT
在 MySQL 中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性和有效性。
查看约束:
SHOW CREATE TABLE <数据表名>;
1. 主键约束(PRIMARY KEY)
主键约束是使用最频繁的约束。在设计数据表时,一