| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL -> 正文阅读 |
|
[大数据]MySQL |
简介数据库相关概念数据库:存储和管理数据的仓库,数据是有组织的进行存储;简称DB; 数据库管理系统:管理数据库的软件,简称DBMS; 关系型数据库 关系型数据库是建立在关系模型上的数据库;关系型数据库就是由多张能相互连接的二维表()组成的数据库 优点:
MySQL数据模型? navicat一套全面的前端工具,为数据库管理,开发和维护提供了一套直观而强大的图形界面 帮助管理数据库,编写SQL语句; SQL语法结构化查询语言,操作关系型数据库的编程语言,定义所有关系型数据库的统一标准(但是每种数据库都有一定自己的独特操作方式,我们称为方言); 通用语法
SQL分类:
DDL——操作数据库
DDL——操作表查询表
创建表 CREATE TABLE 表名( ? 字段名1 数据类型, ? 字段名2 数据类型, ? ...... ? 字段名n 数据类型 --最后一个字段无逗号 ); 数据类型:
案例: ? 结果代码:
修改表
删除表
DML——修改表数据
DQL_——查询表数据
基础查询: 语句:
条件查询: 语法: select 字段列表 from 表名 where 条件列表; 条件:
模糊查询: 模糊查询使用like关键字,可以使用通配符进行占位: (1)_ : 代表单个任意字符 (2)% : 代表任意个数字符 排序查询: 语法: SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]... 排序方式: ASC:升序排列(默认值) DESC:降序排列 ps:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序; 聚合函数: 将一列数据作为一个整体,进行纵向计算。 分类:
聚合函数:一般选用不为null的列,null 值不参与所有聚合函数运算; 语法: SELECT 聚合函数名(列名) FROM 表 分组查询: 语法: SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤]; 注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义; where 和 having 区别:
分页查询: 语法: SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数; 起始索引由0开始; 约束从数据库层面在添加数据的时候进行限制,作用于表中列上的规则,用于限制加入表的数据,在保证了数据库中数据的正确性、有效性和完整性; 分类:
创建一张有约束的表; -- 员工表 CREATE TABLE emp ( id INT, -- 员工id,主键且自增长 ename VARCHAR(50), -- 员工姓名,非空且唯一 joindate DATE, -- 入职日期,非空 salary DOUBLE(7,2), -- 工资,非空 bonus DOUBLE(7,2), -- 奖金,如果没有将近默认为0 dep_id ); 结果:
外键约束:
表关系一对一 实现:在任意一方加入外键,关联另一方主键,并且设置外键为唯一(UNIQUE); 一对多 实现:在多的一方建立外键,指向一的一方的主键 多对多 实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键,称为桥表; 多表查询多表查询顾名思义就是从多张表中一次性的查询出我们想要的数据 对于两张表员工表与部门表,假如直接查询数据,不做条件判定,(SQL语句:select * from 员工表,部门表)相当于两张表做了一次笛卡尔积;假设员工表5条数据,部门表3条数据,则查询结果是15条数据; 但是众所周知,员工属于部门,员工表的列中有一行部门号,只要不为空则在部门表中必有一行数据与之对应,在写SQL语句时,将其体现(sql语句:select * from 员工表,部门表 where 员工表.部门号=部门表.id);假设员工表5条数据,部门表3条数据,则查询结果是5条数据(员工表部门号不为空的情况下); 这个就是最普通常见的连接查询,其中连接查询还可以分为内连接与外连接查询两大类; 内连接查询 语法: -- 隐式内连接 SELECT 字段列表 FROM 表1,表2… WHERE 条件; -- 显示内连接 SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 条件; 方括号括起来的是可以省略的; 内连接相当于查询表1,表2交集数据 外连接查询 语法: -- 左外连接 SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件; -- 右外连接 SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件; 左外连接:左表(表1)中所有的数据及两张表能关联的数据。 右外连接:右表(表2)中所有的数据及两张表能关联的数据. 子查询 查询中嵌套查询,称嵌套查询为子查询 子查询的结果不同,作用不同:
事务简介:
特点:
语法:
说明:mysql中事务是自动提交的。 也就是说我们不添加事务执行sql语句,语句执行完毕会自动的提交事务。 查询事务提交的方式: SELECT @@autocommit; 设置事务提交的方式:1表示自动提交,0表示手动提交 set @@autocommit = 0; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 | -2025/5/8 23:35:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |