MySQL(学习笔记)
学习笔记
lssssssssy
这个作者很懒,什么都没留下…
展开
-
数据库、MySQL、SQL概论
数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理 数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言 数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯...原创 2020-02-28 00:17:30 · 167 阅读 · 0 评论 -
MySQL命令
MySQL服务的启动和停止 方式一:计算机——右击管理——服务 方式二:通过管理员身份运行 net start 服务名(启动服务) net stop 服务名(停止服务) MySQL服务的登录和退出 方式一:通过mysql自带的客户端 只限于root用户 方式二:通过windows自带的客户端cmd 登录: mysql 【-h主机名 -P端口号 】(local省略)-u用户名 -p密码 退出:...原创 2020-02-28 00:22:03 · 124 阅读 · 0 评论 -
DQL一般查询
进阶1:基础查询 /* 语法: select 查询列表 from 表名; 特点: 1、查询列表可以是表中字段、常量值、表达式、函数 2、查询结果是一个虚拟的表格 */ USE myemployees; #1.查询单个字段 SELECT last_name FROM employees; #2.查询多个字段 SELECT last_name, salary, email FROM employees...原创 2020-02-28 20:15:57 · 128 阅读 · 0 评论 -
DQL常见函数
进阶4:常见函数 概念:类似JAVA中的方法,将一组逻辑语句封装在方法体中,对外裸露方法名 好处:隐藏细节,提供代码重用性 调用:select 函数名(实参列表)【from 表名】; 特点:叫什么,干什么 分类:单行函数 concat、length、ifnull等 分组函数(统计函数、聚合函数、组函数) 一、单行函数 字符函数: length concat substr instr trim up...原创 2020-02-29 21:15:27 · 170 阅读 · 0 评论 -
DQL分组查询
进阶5:分组查询 #引入:查询每个部门的员工个数 /* 语法: select 分组函数,列(要求出现在group by 的后面) from 表 【where 筛选条件】 group by 分组的字段 【order by 排序的字段】; 特点: 1、和分组函数一同查询的字段必须是group by后出现的字段 2、筛选分为两类: 针对的表 位置 连接的关键字 分组前筛选 原...原创 2020-02-29 22:05:51 · 80 阅读 · 0 评论 -
MySQL5.5、SQLyog、示例数据库
所用范例及MySQL5.5,SQLyog下载 链接:[https://pan.baidu.com/s/1F3qliA1uMOE79cnndHzp0w] 提取码:tf27原创 2020-02-29 23:07:02 · 230 阅读 · 0 评论 -
DQL连接查询(sql92、sql99)
进阶6:连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 笛卡尔乘积现象:表1有m行,表2有n行,结果=m*n行 发生原因:没有有效的连接条件 如何避免:添加有效的连接条件 分类: 按年代分类: sql92标准:仅仅支持内连接 sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接 按功能分类: 内连接: 等值连接 非等值连接...原创 2020-02-29 23:52:12 · 149 阅读 · 0 评论 -
DQL子查询
进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或内查询 外部的查询语句成为主查询或外查询 分类: 按子查询出现的位置: select后面:仅支持标量子查询 from后面:支持表子查询 where或having后面:标量子查询、列子查询、行子查询 exists后面(相关子查询):表子查询 按结果集的行列数不...原创 2020-03-01 22:41:43 · 116 阅读 · 0 评论 -
DQL分页查询
进阶8:分页查询 ★ /* 应用场景:如web中,当要显示的数据,一页显示不全,需要分页提交sql请求 语法: select 查询列表 from 表 【join type】join 表2 on 连接条件 where 筛选条件 group by 分组字段 having 分组后的筛选 order by 排序的字段 limit 【offset,】size; offset:要显示条...原创 2020-03-01 23:31:28 · 137 阅读 · 0 评论 -
DQL联合查询
进阶9:联合查询 /* union 联合\合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union ... 应用场景: 要查询的结果来自于多个表,且多个表没有直接的连接关系,但【查询的信息一致】时 特点:★ 1、要求多条查询语句的查询列数是一致的! 2、要求多条查询语句的查询的每一列的类型和顺序最好一致 3、union关键字【默认去重】,如果...原创 2020-03-02 21:36:07 · 80 阅读 · 0 评论 -
DML增、改、删
DML语言 数据操作语言: 插入:insert 修改:update 删除:delete 一、插入语句 方式一:经典的插入 /* 语法: insert into 表名(列名,...) values(值1,...); */ SELECT * FROM beauty; 1.插入的值的类型要与列的类型一致或兼容 INSERT INTO beauty(id,NAME,sex,borndate,phon...原创 2020-03-02 22:30:17 · 185 阅读 · 0 评论 -
DDL对库和表的操作
DDL /* 数据定义语言 对库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建: create 修改: alter 删除: drop */ 一、库的管理 1、库的创建 /* 语法: create database [if not exists] 库名; */ 案例:创建库Books CREATE DATABASE IF NOT EXISTS book...原创 2020-03-02 23:31:42 · 97 阅读 · 0 评论 -
DDL数据类型
常见的数据类型 /* 数值型: 整型 小数: 定点数 浮点数 字符型: 较短的文本:char、varchar 较长的文本:text、blob(较长的二进制数据) 日期型 */ 一、整型 /* 分类: tinyint、smallint、mediumint、int/integer、bigint 所占字节 1 2 3 4 8 特点:...原创 2020-03-03 00:12:27 · 161 阅读 · 0 评论 -
DDL常见约束
DDL常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 NOT NULL:【非空】,用于保证该字段的值不能为空 比如姓名、学号等 DEFAULT: 默认,用于保证该字段有默认值 比如性别 PRIMARY KEY: 主键,用于保证该字段的值具有唯一性,并且【非空】 比如学号、员工编号等 UNIQUE: 唯一,用于保证该字段的值...原创 2020-03-03 20:13:45 · 255 阅读 · 0 评论 -
DDL标识列
DDL标识列 /* 又称为【自增长列】 含义:可以不用手动的插入值,系统提供默认的序列值 特点: 1、标识列必须和主键搭配吗?不一定,但要求是一个【key】 2、一个表可以有几个标识列?【至多一个】! 3、标识列的类型只能是【数值型】 4、标识列可以通过 SET auto_increment_increment=3;设置步长 可以通过 手动插入值,设置起始值 */ 一、创建表...原创 2020-03-03 21:22:08 · 92 阅读 · 0 评论 -
TCL事务
TCL /* Transaction Control Language 事务控制语言 事务: 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 一旦执行失败或产生错误,整个单元将会回滚,所有受到影响的数据将返回到事物开始以前的状态。 案例:如果转账过程中出现意外,事务保证整个过程都不执行 转账500 张三丰 1000 郭襄 1000 ...原创 2020-03-03 22:55:01 · 72 阅读 · 0 评论 -
视图
视图 /* 含义:虚拟表,和普通表一样使用 MySQL 5.0.1版本出现的新特性,是通过表动态生成的数据 比如:舞蹈班和普通班级的对比, 领导检查想看舞蹈班,各班临时紧急抽调,领导走了临时组的舞蹈班就散了 创建语法的关键字 是否实际占用物理空间 使用 视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改 表 create tab...原创 2020-03-03 23:58:33 · 166 阅读 · 0 评论 -
变量
变量 /* 系统变量: 全局变量 会话变量 自定义变量: 用户变量 局部变量 */ 一、系统变量 /* 说明:变量由系统定义,不是用户定义,属于服务器层面 注意:全局变量需要添加global关键字,会话变量需要添加session关键字, 如果不写,默认会话级别 使用步骤: 1、查看所有系统变量 show global|【session】...原创 2020-03-04 21:54:30 · 73 阅读 · 0 评论 -
存储过程
存储过程 /* 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 */ 一、创建语法 CREATE PROCEDURE 存储过程名(参数列表) BEGIN 存储过程体(一组合法的SQL语句) END 注意: /* 1、参数列表包含三部分 参数模式 参数名 参数类型 举例...原创 2020-03-04 23:57:35 · 289 阅读 · 0 评论 -
函数
函数 /* 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数, 提高了效率 区别: 存储过程:可以有0个返回,也可以有多个返回, 适合做批量插入、批量更新 函数: 有且仅有1个返回, 适合做处理数据后返回一个结果 */ 一、创建语法 C...原创 2020-03-05 00:30:40 · 100 阅读 · 0 评论 -
流程控制结构
流程控制结构 /* 顺序、分支、循环 */ 一、分支结构 1.if函数 /* 语法:if(条件,值1,值2) 功能:实现双分支 后面+值(作为表达式):可以放在begin end中或外面 后面+语句(作为独立的语句):只能放在begin end中 */ 2.case结构 /* 语法: 情况1:等值判断 case 变量或表达式 when 判断的值1 then 返回的值1 或 语句...原创 2020-03-05 01:33:14 · 267 阅读 · 0 评论