MySQL学习第一阶段

想了又想还是觉得需要把它先做一个整合,之后会接续把相关的内容进行补充

这是DDL、DML的一点代码

sql 复制代码
-- 创建数据库
create database db;
-- 使用数据库
use db;
-- 创建学生表
create table students(
id int primary key auto_increment,
name varchar(10),
agender varchar(10),
classroom varchar(10),
born_date varchar(10)
);
-- 添加一班学生
insert into  students values (1, '小黑', '男', '1班', '2004年6月16日');
insert into  students values (2, '李白', '男', '1班', '2004年6月16日');
insert into  students values (3, '王者', '男', '1班', '2004年6月16日');
insert into  students values (4, '韩信', '男', '1班', '2004年6月16日');
insert into  students values (5, '刘邦', '男', '1班', '2004年6月16日');
insert into  students values (6, '闵月', '女', '1班', '2004年6月16日');
insert into  students values (7, '老登', '男', '1班', '2004年6月16日');
-- 添加二班学生
insert into  students values (8, '赔钱虎', '女', '2班', '2004年6月16日');
insert into  students values (9, '子弹头', '男', '2班', '2004年6月16日');
insert into  students values (10, '萧何', '男', '2班', '2004年6月16日');
insert into  students values (11, '张良', '男', '2班', '2004年6月16日');
insert into  students values (12, '项羽', '男', '2班', '2004年6月16日');
-- 创建教室表
create table classroom(
id int primary key
);
-- 添加1班和2班
insert into classroom values (1);
insert into classroom values (2);

-- 添加一个外键约束
alter table students add constraint fk foreign key (classroom) references classroom(id);  

|------|--------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| | 数据库 DB | 数据库管理 DBMS | SQL |
| 分类 | 数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。 | MySQL Oracle、 microsoft sql server | DDL、DML、DQL、DCL |
| 适用场景 | 通常由数据库管理系统 (DBMS) 来控制。在现实中,数据、DBMS 及关联应用一起被称为数据库系统,通常简称为数据库。 | MySQL 是开源免费,适合中小型企业 Oracle 适用于大型企业,是需要付费的,Microsoft sql server 会存储 Windows 系统的一些数据 | DDL:针对数据库和表的一些简单操作,如创建数据库或表 DML:针对数据库表中的数据进行的操作,增删改的操作 DQL:针对数据库表中的数据进行查询,如排序查询、分组查询等 DCL:针对用户的语言,比如设定 root 账号,还有伪账号 |

|----|-------------------------------------------|--------------|--------------------------|-------------------------|
| | DDL | DML | DQL | DCL |
| 区别 | 对数据库和表 | 对表数据的修改 | 对表数据进行的查询 | 对使用数据库的账户 |
| | 与 DML 的不同在于在操作表的时候进行的是对表的列等需要定义的属性进行定义/设计 | 比如添加数据、删除数据等 | 基础查询、条件查询、排序查询、分组查询、分页查询 | 分为三级账户,root ,和管理员以及普通账户 |

|------|------------------------------------|-----------------------------------------------------------------------|------------------|
| | 约束 | 事务 | 多表查询 |
| 定义 | 是指对表中数据进行的限制 | 数据库的事务是一种机制、一个操作序列,包含了一组数据库操作命令 | 是指从多张表查询数据 |
| 应用场景 | 需要对某些数据进行保护,以免误删 | 同时使用,银行账户的转账,事情必须同生共死,确保事务一致性 | 应对某些内容进行对比 |
| 怎么用 | 设置键进行约束,如外键约束、主键约束、非空约束 | 三个句子 开始事务、提交事务、结束事务 | 连接查询:内连接、外连接 子查询 |
| 方法 | primary key foreign key check 检查约束 | -- 开启事务start transaction; // 或者 begin -- 提交事务commit; -- 回滚事务rollback; | |

|------------|----------------------------------------------------------------------------------|-------------|
| | 数据库设计 | 表关系 |
| 定义 | 数据库设计就是根据业务系统的具体需求,结合我们所选用的 DBMS,为这个业务系统构造出最优的数据存储模型。 建立数据库中的表结构以及表与表之间的关联关系的过程。 | 表之间的关系 |
| 他们两个所关心的问题 | 有哪些表?表里有哪些字段?表和表之间有什么关系? | 只关心表之间有什么关系 |
| | | |

相关推荐
爱意随风起风止意难平2 分钟前
003 flutter初始文件讲解(2)
学习·flutter
东京老树根5 分钟前
SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途
笔记·学习
heart000_111 分钟前
MySQL事务与锁机制详解:确保数据一致性的关键【MySQL系列】
数据库·mysql
一眼青苔16 分钟前
MySQL 如何判断某个表中是否存在某个字段
数据库·mysql
虾球xz26 分钟前
CppCon 2014 学习:C++ Memory Model Meets High-Update-Rate Data Structures
java·开发语言·c++·学习
水水沝淼㵘33 分钟前
嵌入式开发学习日志(linux系统编程--系统编程之 进程间通信IPC)Day32
linux·运维·学习
西柚小萌新1 小时前
【大模型:知识图谱】--3.py2neo连接图数据库neo4j
数据库·知识图谱·neo4j
wangfenglei1234561 小时前
mybatis打印完整的SQL,p6spy
数据库·sql·mybatis
__风__1 小时前
PostgreSQL ERROR: out of shared memory处理
数据库·postgresql
占星安啦1 小时前
一个html实现数据库自定义查询
java·前端·javascript·数据库·动态查询