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,为这个业务系统构造出最优的数据存储模型。 建立数据库中的表结构以及表与表之间的关联关系的过程。 | 表之间的关系 |
| 他们两个所关心的问题 | 有哪些表?表里有哪些字段?表和表之间有什么关系? | 只关心表之间有什么关系 |
| | | |

相关推荐
LGGGGGQ1 小时前
嵌入式学习-PyTorch(4)-day21
学习
艾莉丝努力练剑2 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
人生游戏牛马NPC1号4 小时前
学习 Flutter (三):玩安卓项目实战 - 上
android·学习·flutter
StarRocks_labs4 小时前
StarRocks Community Monthly Newsletter (Jun)
数据库·starrocks·数据湖·物化视图·存算分离
光电的一只菜鸡5 小时前
ubuntu之坑(十五)——设备树
linux·数据库·ubuntu
ob熔天使——武5 小时前
MySQL
数据库·mysql
小光学长6 小时前
基于vue框架的防疫物资仓库管理系统09y38(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
没有羊的王K7 小时前
SSM框架学习——day1
java·学习
林林要一直努力8 小时前
AOSP Settings模块问题初窥
android·学习·bug·android studio
野生技术架构师9 小时前
MySQL数据实时同步到Elasticsearch的高效解决方案
数据库·mysql·elasticsearch