什么是数据库?
数据库:专业存储数据的软件,里面数据存储是有一定的规则。可以使用数据库操作语言sql,实现方便、高效的数据管理(增、删、改、查)
数据库的相关概念
DB:数据库(DataBase)
存储数据的容器,它保存了一系列有组织的数据。
DBMS:数据库管理系统(DataBase Management System)
又称为数据库软件或数据库产品,用于创建或管理DB。
SQL:结构化查询语言(Structure Query Language)
用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言。
为什么要学习数据库?
实现数据持久化到本地
使用完整的管理系统统一管理,可以实现结构化查询,方便管理
根据不同的存储类型可以分为:
• 关系型数据库
关系型数据库管理系统称为RDBMS,R指Relation
数据存储时,是有固定关系的,eg:学生信息表,课程信息表,学生选课表,年级,院系
Oracle:功能强大,收费.
MySQL 快捷、可靠 开源、免费
SQL Server(微软): 只能安装在Windows操作系统
DB2 (IBM):适合处理海量数据,收费.
● 非关系型数据库
没有固定的关系:互联网项目中,发送手机验证码,有效时间五分钟,键值对存储数据
MongdoDB
Redis
sql
● 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统.
SQL优点:
不是某个特定数据库供应商专有的语言,是几乎所有DBMS都支持SQL
简单易学
实际上强有力的语言,灵活使用可以进行非常复杂和高级的数据库操作
DDL
● 数据(结构)定义语言DDL(Data Definition Language),是用于创建和修改数据库表结构的语言。
● 常用的语句:create ,alter,drop,rename
-- 注释(注意空格)
-- 创建数据库 并设置字符集编码
CREATE DATABASE schooldb CHARSET utf8
-- 创建数据库 并判断是否存在 设置字符集
CREATE DATABASE IF NOT EXISTS schooldb CHARSET utf8
-- 删除数据库
DROP DATABASE schooldb
-- 修改数据库字符集 注意mysql中不支持修改数据库名
ALTER DATABASE schooldb CHARSET utf8
数据库表的基本概念
1、数据表
表(table)是数据存储的最常见和最简单的形式,是构成关系型数据库的基本元素。表的最简单形式是由行和列组成,分别都包含着数据。 每个表都有一个表头和表体,表头定义表名和列名 .表中的行被看作是文件中的记录,表中的列被看作是这些记录的字段。
2、记录
记录也被称为一行数据,是表里的一行。在关系型数据库的表里,一行数据是指一条完整的记录。
3、字段
字段是表里的一列,用于保存每条记录的特定信息。如客户订单表的字段包括“订单ID”、“姓名”、“客户ID”、“职务”、“上级”、“地区”、“运货商”、“国家”等。数据表的一列包含了特定字段的全部信息。
创建表的步骤:
-
确定表名(存储哪类信息,原则是一张表存储一类信息)【学生信息表 student】(CREATE TABLE 表名)
-
确定列名(存储学生的哪些信息)【姓名、学号、性别】
-
字段(列)的数据类型和长度 【学号 整数2020 姓名 字符串 5】
有哪些约束: 例如有些数据是不能重复的,不能为空
-- 创建一个基本的没有任何约束的表结构
-- 学号,姓名,性别,生日,身高,电话,地址,注册时间
CREATE TABLE student(
-- 列名 数据类型
num INT,
NAME VARCHAR(6),
gender CHAR(1),
birthday DATE,
height FLOAT(3,2),
phone VARCHAR(15),
address VARCHAR(30),
reg_time DATETIME
)
数据类型
字符类型需要给出长度
-
char(n) 长度为n的定长字符串 (例如给定长度是4,即使存储了1个字符,仍占4个长度)
-
varchar(n)最大长度为n的可变长字符串(例如n=4,最大存储4个字符,如果只存储了1个字符,那么就占1个长度)
-
date 日期, 包含年月日
-
datetime 年月日 时分秒
整数
浮点
BLOB(大容量可以用来存储图片) text(大容量的字符串)例如新闻、长篇小说
表约束
-
主键约束 (PRIMARY KEY):
每张表中可以添加一个主键约束,不能为空,不能重复 ,可以表示表中