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

相关推荐
Ciderw几秒前
MySQL日志undo log、redo log和binlog详解
数据库·c++·redis·后端·mysql·面试·golang
~Yogi22 分钟前
新版Tomcat MySQL IDEA 安装配置过程遇到的问题
mysql·tomcat·intellij-idea
CT随28 分钟前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
TravisBytes30 分钟前
Redis如何解决热Key问题
数据库·redis·缓存
宽带你的世界34 分钟前
TiDB 是一个分布式 NewSQL 数据库
数据库·分布式·tidb
隔壁老王15641 分钟前
tidb实时同步到mysql
数据库·mysql·tidb
2501_903238651 小时前
深入理解 JUnit 的 @RunWith 注解与自定义 Runner
数据库·junit·sqlserver·个人开发
小光学长1 小时前
基于flask+vue框架的的医院预约挂号系统i1616(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
听封1 小时前
✨ 索引有哪些缺点以及具体有哪些索引类型
数据库·mysql
利瑞华1 小时前
数据库索引:缺点与类型全解析
数据库·oracle