1、什么是数据库(DB,database)
- 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
- 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
- 我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
- 所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
- RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
- 关系型数据库:mysql、oracle、sqlserver
- 通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考勤表…
非关系型数据库(NoSQL)not only - 非关系型数据库:Redis、MongDB
- 非关系型数据库,对象存储,通过对象的自身属性来决定。
2、数据库管理系统(DBMS)
- 数据库管理系统 ( DataBase Management System )
- 数据库管理软件 , 科学组织和存储数据 , 高效地获取和维护数据
- 我们要学习的MySQL应该算是一个数据库管理系统
3、MySQL数据库
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
4、RDBMS 术语
- 数据库: 数据库是一些关联表的集合
- 数据表:表是数据的矩阵,在一个数据库中表看起来限一个简单的电子表格
- 列:一列包含了相同类型的数据
- 行:是一组相关的记录,例如一条用户订阅的数据
- 冗余:存储两倍的数据,降低了性能,提高了安全性
- 主键:主键是唯一的,一个数据表中只能包含一个主键。你可以使用主键来查询数据
- 外键:用来关联两个表
- 复合键:将多个列作为一个索引键
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 表头:每一列的名称
- 列:具有相同数据类型的数据的集合
- 行:每一行用来描述某条记录的具体信息
- 值:行的具体信息,每个值必须与该列的数据类型相同
- 键:键的值在每一列中具有唯一性
5、DML数据操作语言(insert、update、delete)
数据库意义:存储数据,数据管理
1、insert添加
- 语法:insert into 表名([字段一], [字段二])values(‘值1’),(‘值2’)
//插入语句(添加)
insert into `grade`(`gradename`)VALUES('大四')
//如果不写表的字段,他就会一一匹配,写插入语句,数据和字段一定要一一对应
insert into `grade` VALUES '大三'
//插入多个字段('a'),('b')
insert into `grade`(`gradename`)
VALUES('大二'),('大一')
//插入一条数据
insert into `grade`(`name`,`pwd`,`sex`)
VALUES('小明','123','男')
//插入多条数据
insert into `grade`(`name`,`pwd`,`sex`)
VALUES('小李','111','女'),('小王','222','男')
- 注意事项:
- 1、字段和字段之间使用逗号隔开
- 2、字段可以省略,但后边的值必须一一对应
- 3、可以同时插入多条数据,但是VALUES后边的值需要使用逗号隔开
2、update修改
- 语法:update 修改谁(条件) set 原来的值=新值
//修改学院名字,指定条件
update `student` set `name` = '狂神' where id = 1;
//不指定条件,会修改所有表
update `student` set `name` = '长江7号'
//修改多个属性,逗号隔开
update `student` set `name` = '狂神',`email` = '1234@qq.com' where id = 1;
- 条件:where 子句 运算符 id 等于 某个值,大于某个值,在某个区间内修改
3、delete删除
- 语法L: delete from 表名 where
- delete和truncate(清空表)的区别,
- 相同:都能删除数据,都不会删除表数据
- 不同:TRUNCATE 重新设置 自增长,计数器回归零,不会影响事务
//删除数据(避免这么写,会全部删除)
delete from `student` where id = 1;
//删除表
TRUNCATE table `test`
6、DQL(database query language)查询数据
1、select简单查询
//查询全部的学生
select * from student
//查询指定字段
select `StudntNo`,`StudentName` from student
//别名,给结果起一个名字 AS
select `StudentNo` AS 学号,`StudentName` AS 学生姓名 from student AS s
//函数Concat(a,b)
select CONCAT('姓名:',StudentName) AS 新名字 from student
- 所有查询语句都用Select
- 数据库中最核心的语言
- 使用频率最高的语言
- 简单的查询,复杂的查询,他都能做
- 语法:SELECT 字段 … FROM 表
- 去重:distinct
- 作用:去除select查询出来的结果中重复的数据,重复的数据只显示一条
//查询一下有哪些同学参加了考试,成绩
//查询全部的考试成绩
select * from result
//查询有哪些同学参加了考试
select `studentNo` from result
//发现重复数据,去重
select distinct `studentNo` from result
2、where条件子句
- 作用:检索数据中符合条件的值
- 逻辑运算符
运算符 语法 结果
and && a and b a&&b 逻辑与
or || a or b a||b 逻辑或
Not != not a !a 逻辑非
查询考试成绩在95分到100分之间,and &&
SELECT `StduentNo`,`StudentResult`
FROM result
WHERE StudentResult >=95 AND StudentResult<=100
模糊查询(区间)
SELECT `StduentNo`,`StudentResult`
FROM result
WHERE StudentResult BETWEEN 95 AND 100
除了1000号学生之外的同学成绩
SELECT `StduentNo`,`StudentResult`
FROM result
WHERE NOT StudentNo = 1000
除了1000号学生之外的同学成绩
SELECT &#