一、数据库理论
1、数据库(Database,DB):是计算机当中有组织,统一管理的数据的集合。
2、数据管理系统(DBMS):是数据库管理的信息系统
3、数据库系统(DBS):数据、用户、计算机硬件、DBMS的总和 。
4、实体:现实世界中的事物
5、实体集:实体的集合
6、属性:实体的静态特征
7、关键字:可以唯一标识实体的属性
8、实体之间的联系(关系)
(1)、一对一的关系(1:1):例如:身份证:公民(一个身份证对应一个公民)
(2)、一对多的关系(1:n):例如:部门:部门员工(一个部门有多个员工,一个员工只能在一个部门)
(3)、多对多的关系(n:n):例如:学生:课程(一个学生要学习多门课程,一门课程会被多个学生学习)
9、数据模型
9.1、层次模型:
9.2、网状模型:
9.3、关系模型:用二维表的形式来表示实体之间的联系, 一个关系表示的就是一张二维表
(1)、属性/字段:表中的列
(2)、元组:表中的一行
(3)、域:列的取值范围
(4)、主关键字(主键):能够唯一表示一条记录的属性或属性集。
(5)、外部关键字(外键):反应表与表之间的关系,若表中的某列是另一个表中的主键,则该列就是一个外键。
二、MySql数据库
1、MySql来自于Oracle公司,是典型的关系型数据库,免费的,开源的。
2、配置MySql环境变量
(1)、将C:\Program Files\MySQL\MySQL Server 8.0\bin配置到系统环境变量的path中
(2)、打开cmd窗口,输入以下指令mysql -u root -p
-u 指令参数,它后面的root是用户名(root是超级用户)
-p 指令参数,博鳌是输入密码
3、常用指令
(1)、显示所有的数据库:
show databases;
(2)、切换数据库:
use 数据库名;
(3)、创建数据库
create database 数据库名;//数据库名字不能带中文字符
(4)、查看当前数据库中的所有表
show tables;
(5)、删除数据库
drop database 数据库名;
(6)、查看表结构
desc 表名;
(7)、查看当前使用的数据库
select databases();
(8)、执行sql脚本文件(.sql)
source 脚本文件名;
三、SQL(Structured Query Language):结构化查询语言
1、DDL(Data Definition Language)
DDL简介:数据定义语言。用于创建数据对象。
1.1、创建数据库:create database 数据库名
1.2、显示所有数据库:show databases;
1.3、删除数据库:drop database 数据库名;
1.4、SQL的数据类型:
数据类型 | 含义 |
---|---|
double | 浮点型;double(5,2) |
decimal | 数值型(泛型型);decimal(5,0) |
varchar | 固定长度字符串类型(当输出的字符不够长度时不会补空格);varchar sname varchar (10) sname =‘a1’ |
char | 固定长度字符串类型;(当输出的字符不够长度时会补空格)varchar sname varchar (10) sname ='a1 |
1.5、操作表格
(1)、创建表:
create table 表格(
列名 数据类型
列名 数据类型
列名 数据类型
…
);
举例:
创建成功后输入desc 表名可以查看表结构:
(2)、删除表格:
drop table 表名;
在使用了删除表格后,当再次尝试查看表结构是,就会显示此表不存在。
(3)、给表格增加列:
alter table 表名 add (列名 数据类型);
(4)、修改列名
alter table 表名 change 原列名 新列名 数据类型;
(5)、删除列
alter table 表名 drop 列名;
(6)、修改列的数据类型
alter table 表名 modify 列名 数据类型;
(7)、修改表的名字
alter table 原表名 rename to 新表名;
2、DML(data manipulation language)
DML简介:数据操作语言,用来定义数据库记录(数据)
2.1、插入记录
(1)、给指定的插入数据
insert into 表名(列1,列2…) values(值1,值2…)
(2)、给所有插入数据(顺序按定义表时列的顺序插入)
insert into 表名 values(值1,值2,…);
2.2、修改记录
update 表名 set 列名1=值1,列名2=值2,… [where 条件];
2.3、删除记录
delete from 表名 [where 条件];
3、DQL(Data Query Language)
DQL简介:数据库查询语言,用于查询记录。
CREATE TABLE edu(
sid CHAR(6),
sname VARCHAR(50),
age INT,
gender VARCHAR(10)
);
INSERT INTO edu VALUES('S_1001', 'liuYi', 35, 'male');
INSERT INTO edu VALUES('S_1002', 'chenEr', 15, 'female');
INSERT INTO edu VALUES('S_1003', 'zhangSan', 95, 'male');
INSERT INTO edu VALUES('S_1004', 'liSi', 65, 'female');
INSERT INTO edu VALUES('S_1005', 'wangWu', 55, 'male');
INSERT INTO edu VALUES('S_1006', 'zhaoLiu', 75, 'female');
INSERT INTO edu VALUES('S_1007', 'sunQi', 25, 'male'