目录
数据库基础
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
在介绍完一些基础的概念之后,我们需要在自己的电脑上安装MySQL程序,大家可以在网络上自己寻找适合自己电脑的版本进行安装,安装并且配置好环境后我们就可以进行数据库的相关操作了。
SQL程序语言有四种类型,对数据库的基本操作都属于这四类,它们分别为:
- DDL(Data Definition Language):数据定义语言
- DQL(Data Query Language):数据查询语言
- DML(Data Manipulation Language):数据操纵语言
- DCL(Data Control Language):数据控制语言
接下来,我们首先学习MySQL数据库语言的基本操作:
查询:
show databases;
查询当前数据库:
select database();
创建:
create databse[if not exists]数据库名[DEFAULT CHARSET字符集] [COLLATE 排序规则];
该命令的作用: 如果数据库不存在则创建,存在则不创建。
删除:
DROP DATABSE[IF EXISTS] 数据库名;
使用:
use 数据库名;
上述语言是MySQL数据库的操作语言,接下来让我们学习数据定义语言DDL的相关知识:
DDL 表操作 查询
查询当前数据库所有表:
SHOW TABLES;
查询表结构:
DESC 表名;
查询指定表的建表语句:
SHOW CREATE TABLE表名;
DDL 表操作 创建
CREATE TABLE table_name (column_name column_type);
以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
大家注意:最后一个字段后没有逗号!
数据类型:
MySQL的数据类型主要包括三类:
- 数值
- 字符串
- 日期时间
- 下面放三张表:
- 数值:
- 字符串:
日期: