随笔分类 - mysql基础学习
摘要:分类: 一、系统变量 说明:变量由系统提供,不用定义 1、全局变量: 服务器层面上的,必须拥有super权限才能为系统变量赋值,作用域为整个服务器,也就是针对所有连接(会话)有效。 2、会话变量 服务器为每一个连接的客户端提供系统变量,作用域为当前连接(会话)。 二、自定义变量 1、用户变量 作用域
阅读全文
摘要:流程控制结构 顺序结构:程序从上往下依次执行 分支结构:程序从两条或者多条路径中选择一条去执行 循环结构:程序在满足一定条件的基础上,重复执行一段代码 一、分支结构 1、if函数 功能:实现简单的双分支 语法: if(表达式1,表达式2,表达式3) 执行顺序 如果表达式1成立,则if函数返回表达式2
阅读全文
摘要:函数与存储过程的区别: 存储过程:可以有0个返回,也可以有多个返回,适合做批量插入,批量更新 函数:有且仅有一个返回,适合做数据处理后返回一个结果 创建语法: create function 函数名(参数列表) returns 返回类型 begin 函数体 end 注意: 参数列表包含两部分:参数名
阅读全文
摘要:存储过程和函数 含义:存储过程和函数:类似于java中的方法。 好处:1、提高代码的重用性 2、简化操作 存储过程:一组预先编译好的SQL语句的集合,理解成批处理语句。 1、提高代码的重用性 2、简化操作 3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。 一、创建语法 create
阅读全文
摘要:变量介绍: 系统变量:变量由系统提供,不是用户定义,属于服务器层面 全局变量:作用域:服务器每次启动将为多有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启, 会话变量:作用域:仅仅针对于当前的会话(连接)有效。 自定义变量:变量是用户自定义的,不是由系统提供的 用户变量:作用域:针对
阅读全文
摘要:视图: 含义:虚拟的表,和普通表一样使用, mysql5.1版本新加功能,是通过表动态生成的数据 只保存了sql逻辑,不保存数据 重用sql语句 简化复杂的SQL操作,不必知道它的查询细节 保护数据,提高安全性 视图与表比较 创建语法 是否占用空间 使用 视图 create view 不占用 增删改
阅读全文
摘要:事务: 一个或一组sql语句组成的一个执行单元,这个执行单元那么全部执行,要么全部不执行。 事务的属性:ACID 1、原子性 原子性:是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性:事务必须使数据库从一个一致状态变换到另一个一致状态。 隔离性:事务的隔离性是指一个事
阅读全文
摘要:标识列--自增长列 含义:可以不用手动的插入值,系统提供默认的序列值 特点: 1、标识列必须和主键搭配吗? 不一定,但要求是一个key,唯一键也可以 2、一个表中至多有一个标识列 3、标识列的类型必须是int吗? 只能是数值型,字符型,日期型不可以 4、标识列可以通过set auto_increme
阅读全文
摘要:常见约束 含义:一种限制,用于限制表中数据,为了保证表中的数据的准确与可靠性 分类:六大约束 not null 非空,用于保证该字段的值不能为空,比如姓名,学号等 default 默认,用于保证该字段有默认值,比如性别 primary key 主键,用于保证该字段的值具有唯一性,并且非空,比如学号,
阅读全文
摘要:常见数据类型 数值型: 整型、 小数:定点数、浮点数 字符型:较短文本:char、varchar 较长的文本:text、blob(较长的二进制数据) 日期型。 一、整型 分类:tinyint、smallint、mediumint、int/integer、bigint 字节数 1 2 3 4 8 特点
阅读全文
摘要:数据定义语言: 一:库的管理 创建、修改、删除 二:表的管理 创建、修改、删除 创建:create 修改:alter 删除:drop 一、库的管理 1、库的创建 语法: create database 【if not exist】库名 create database if not exist boo
阅读全文
摘要:方式一:(删除删整行) 1、单表的删除 delete from 表名 where 筛选条件 2、多表的删除 92语法 delete 表1的别名/表2的别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件; 99语法 delete 表1的别名/表2的别名 from 表1 别名
阅读全文
摘要:修改单表记录☆ 语法: update 表名 set 列=新值,列=新值,.... where 筛选条件 修改多表记录 92语法 update 表1 别名 ,表2 别名 set 列=值,... where 连接条件 and 筛选条件 99语法: update 表1 别名 inner/left/righ
阅读全文
摘要:插入语句: 语法1: insert into 表名(列名,....) values(值1,....) 插入特点:经典插入 1、插入的值的类型要与列的类型一致或兼容 2、不可以为null的列必须插入值,可以为null的列如何插入值? 方式一:以null代替插入值 方式二:列名中不写这一项 3、列的顺序
阅读全文
摘要:union:联合查询 特点:将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union ... 应用场景: 要查询的结果来自于多个表,且多个表之间没有直接的联系,但查询的信息的一致时。 要求: 要求多条查询语句的查询列数一致 要求多条查询语句的查询的每一列的类型和顺序
阅读全文
摘要:分类: 1、按出现位置: select后面: 仅仅支持标量子查询 from后面: 表子查询 where或having后面: 标量子查询 列子查询 行子查询 exists后面: 标量子查询 列子查询 行子查询 表子查询 2、按结果集的行列: 标量子查询(单行子查询):结果集为一行一列 列子查询(多行子
阅读全文
摘要:分页查询 当要显示的数据,一页显示不全,需要分页提交SQL请求 selset 查询列表 from 表 【join type】join 表2 on 连接条件 where 筛选条件 group by分组字段 having 分组后筛选 【order by】排序后的字段 limit 【offset】 siz
阅读全文
摘要:交叉连接=笛卡尔乘积 子查询:出现在其他语句中的select语句,称为子查询或者内查询,外部的查询语句称为主查询或外查询。 分类:子查询出现的位置: 1、select 后面 仅仅支持标量子查询 2、from后面 支持表子查询 3、where或having后面(重点) 标量子查询、列子查询 4、exi
阅读全文
摘要:sql99语法 语法: select 查询列表 from 表1 别名【连接类型】 join 表2 别名 on 连接条件 【where 筛选条件】 【group by 分组】 【having 筛选条件】 【order by 排序列表】 2.分类: 内连接:inner 左外:left 【outer】 右
阅读全文
摘要:笛卡尔乘积——多表连接,数据来源于多表时 笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行 发生原因:没有有效的连接条件 如何避免:添加有效的连接条件 分类: SQL92标准仅仅支持内连接 SQL99标准【推荐】支持内连接+外连接(左外+右外)+交叉连接 按功能分类: 内连接: 等值连接 非
阅读全文
浙公网安备 33010602011771号