MySQL
baiyexing1
这个作者很懒,什么都没留下…
展开
-
MySQL流程控制结构(顺序、分支、循环)
MySQL流程控制结构*/一、分支结构1.if函数/*语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面*/2.case结构/*语法:情况1:类似于switch,一般用于实现等值判断case 变量|表达式|字段when 值1 then 语句1;when 值2 then 语句2;…else 语句n;end case;情况2:类似于Java中的多重IF语句,一般用于实现区间判断casewhen 条件1 then 语句1;when 条件2 t原创 2020-12-02 15:12:24 · 253 阅读 · 0 评论 -
MySQL函数(CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型)
MySQL函数/*含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1 个返回,适合做处理数据后返回一个结果*/一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN 函数体END/*注意:1.参数列表 包含两部分:参数名 参数类型2.函原创 2020-12-02 14:55:06 · 8835 阅读 · 0 评论 -
MySQL存储过程(CREATE PROCEDURE 存储过程名(参数列表))
MySQL存储过程#存储过程/*含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率*/一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN存储过程体(一组合法的SQL语句)END#注意:/*1、参数列表包含三部分参数模式 参数名 参数类型举例:in stuname varchar(20)参数模式:in:该参数可以作为输入,也就是该参数需原创 2020-12-02 14:46:40 · 3822 阅读 · 0 评论 -
MySQL变量(系统变量与自定义变量)
MySQL变量/*系统变量:1.全局变量:服务器层面上的,必须拥有super权限才能为系统变量赋值,作用域为整个服务器,也就是针对于所有连接(会话)有效2.会话变量:服务器为每一个连接的客户端都提供了系统变量,作用域为当前的连接(会话)自定义变量:用户变量局部变量*/一、系统变量/*说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show原创 2020-12-02 14:31:31 · 179 阅读 · 0 评论 -
MySQL视图
视图/*含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据比如:舞蹈班(领导走后解散)和普通班级的对比视图的优点:1.简化复杂的sql操作,不必知道它的查询细节2.提高sql的重用性3.保护数据,提高安全性*/案例:查询姓张的学生名和专业名不用视图:SELECT stuname,majornameFROM stuinfo sINNER JOIN major m ON s.`majorid`= m.`id`WHERE s.`stuname`原创 2020-12-02 13:49:38 · 188 阅读 · 0 评论 -
MySQL的TCL语言(事务控制语言)
事务控制语言一、事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。案例:转账张三丰 1000郭襄 1000update 表 set 张三丰的余额=500 where name=‘张三丰’意外update 表 set 郭襄的余额=1500 where name=‘郭襄’二、事务的特性:ACID原子性:一个事务不可再分割,要么都执行要么都不执行一致性:一个事务执行会使数据从一个一致状态切换到另外一个一致状态隔离性:一个事务的执行不受其他事务的干扰原创 2020-12-02 13:36:00 · 130 阅读 · 0 评论 -
MySQL标识列(自增长列)
MySQL标识列(自增长列)/*又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值,默认从1开始,步长为1如果要更改起始值:手动插入值如果要更改步长:更改系统变量set auto_increment_increment=值;特点:1、标识列必须和主键搭配吗?不一定,但要求是一个key(主键、唯一、外键或者自定义key)2、一个表可以有几个标识列?至多一个!3、标识列的类型只能是数值型(INT,FLOAT等)4、标识列可以通过 SET auto_increment_incre原创 2020-12-02 13:21:24 · 3398 阅读 · 0 评论 -
MySQL常见约束
MySQL常见约束/*一、含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性二、分类:六大约束1.NOT NULL:非空,用于保证该字段的值不能为空比如姓名、学号等2.DEFAULT:默认,用于保证该字段有默认值比如性别3.PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空比如学号、员工编号等4.UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空比如座位号5.CHECK:检查约束【mysql中不支持】比如年龄、性别6.FOREIGN K原创 2020-12-02 13:14:37 · 114 阅读 · 0 评论 -
MySQL常见的数据类型(数值、字符和日期型)
MySQL常见的数据类型/*数值型:整型小数:定点数浮点数字符型:较短的文本:char、varchar较长的文本:text、blob(较长的二进制数据)日期型:*/一、整型/*分类:tinyint、smallint、mediumint、int/integer、bigint1 2 3 4 8特点:① 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字② 如果插入的数值超出了整型的范围,会报out of range异常原创 2020-11-30 11:08:48 · 613 阅读 · 0 评论 -
MySQL的DDL语言(库和表的定义管理)
MySQL的DDL语言/*数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建: create修改: alter删除: drop*/一、库的管理1、库的创建/*语法:create database [if not exists]库名;*/#案例:创建库BooksCREATE DATABASE IF NOT EXISTS books ;2、库的修改(现在已经不能使用了,因为安全性太差。修改的唯一方法是去C盘里修改文件名,然后重启mys原创 2020-11-30 10:46:23 · 81 阅读 · 0 评论 -
MySQL的DML语言(插入、修改、删除操作)
MySQL的DML语言/*数据操作语言:插入:insert修改:update删除:delete*/一、插入语句方式一:经典的插入/*语法:insert into 表名(列名,…) values(值1,…);*/SELECT * FROM beauty;1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-2原创 2020-11-30 10:32:01 · 295 阅读 · 0 评论 -
进阶9:MySQL联合查询
联合查询/*union 联合 合并:将多条查询语句的结果合并成一个结果1.语法:查询语句1union查询语句2union…2.应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时3.特点:★1、要求多条查询语句的查询列数是一致的!2、要求多条查询语句的查询的每一列的类型和顺序最好一致3、union关键字默认去重,如果使用union all 可以包含重复项*/#引入的案例:查询部门编号>90或邮箱包含a的员工信息SELECT * FROM原创 2020-11-30 10:06:04 · 97 阅读 · 0 评论 -
进阶8:MySQL分页查询(limit)
分页查询/*1.应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求2.语法:select 查询列表from 表【join type(inner|left(right) outer) join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段】limit 【offset,】size;offset要显示条目的起始索引(起始索引从0开始) size 要显示的条目个数3.特点:①limit语句放在查询语原创 2020-11-30 10:02:06 · 281 阅读 · 0 评论 -
进阶7:MySQL子查询
MySQL子查询/*1.含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询2.分类:2.1 按子查询出现的位置:2.1.1 select后面:仅仅支持标量子查询 2.1.2 from后面:支持表子查询2.1.3 where或having后面:★标量子查询(单行) √列子查询 (多行) √行子查询 1.4 exists后面(相关子查询)表子查询2.2 按结果集的行列数不同:标量子查询(结果集只有一行一列)列子查询(结果集只有一原创 2020-11-29 10:44:02 · 171 阅读 · 0 评论 -
进阶6:MySQL连接查询二:sq199标准
MySQL连接查询二:sq199标准/*1.语法:select 查询列表from 表1 别名 【连接类型:inner|left 【outer】|right 【outer】|cross】join 表2 别名on 连接条件【where 筛选条件】【group by 分组】【having 筛选条件】【order by 排序列表】2.分类:2.1内连接(★):inner2.2外连接左外(★):left 【outer】右外(★):right 【outer】全外:full【outer】原创 2020-11-29 10:03:56 · 137 阅读 · 0 评论 -
进阶6:MySQL连接查询一:sq192标准
MySQL连接查询/*含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件分类:1.按年代分类:sql92标准:仅仅支持内连接sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接2.按功能分类:2.1 内连接:等值连接非等值连接自连接2.2 外连接:左外连接右外连接全外连接3.交叉连接*/SELECT * FROM beauty;原创 2020-11-29 09:39:11 · 190 阅读 · 0 评论 -
进阶5:MySQL分组查询(group by)
MySQL分组查询/*语法:select 分组函数,列(要求出现在group by的后面)from 表【where 筛选条件】group by 分组的字段【order by 排序的字段】;特点:1、和分组函数一同查询的字段必须是group by后出现的字段2、筛选分为两类:分组前筛选和分组后筛选问题1:分组函数做筛选能不能放在where后面答:不能问题2:where——group by——having一般来讲,能用分组前筛选的,尽量使用分组前筛选,提高效率3、分组可以按单个字段原创 2020-11-28 23:55:57 · 250 阅读 · 0 评论 -
进阶4:MySQL常见函数(2)--分组函数(聚合函数)
二、分组函数/*功能:用作统计使用,又称为聚合函数或统计函数或组函数分类:sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数特点:1、sum、avg一般用于处理数值型max、min、count可以处理任何类型2、以上分组函数都忽略null值3、可以和distinct搭配实现去重的运算4、count函数的单独介绍一般使用count(*)用作统计行数count(1)相当于在表中加了一列常量值,所以也能统计出行数效率:MYISAM存储引擎下 ,CO原创 2020-11-28 23:45:16 · 159 阅读 · 0 评论 -
进阶4:MySQL常见函数(1)--字符、数学、日期和流程控制函数
MySQL常见函数/*概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select 函数名(实参列表) 【from 表】;特点:①叫什么(函数名)②干什么(函数功能)分类:1、单行函数如 concat、length、ifnull等2、分组函数功能:做统计使用,又称为统计函数、聚合函数、组函数常见函数:一、单行函数字符函数:length:获取字节个数(utf-8一个汉字代表3个字节,gbk为2个字节)原创 2020-11-28 23:23:02 · 105 阅读 · 0 评论 -
进阶3:MySQL排序查询
排序查询/*语法:select 查询列表from 表名【where 筛选条件】order by 排序的字段或表达式【asc | desc】;特点:1、asc代表的是升序,可以省略desc代表的是降序2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段3、order by子句在查询语句的最后面,除了limit子句*/1、按单个字段排序(查询员工信息,要求工资从高到低排序)SELECT * FROM employees ORDER BY salary DESC;原创 2020-11-26 23:53:05 · 208 阅读 · 0 评论 -
进阶2:MySQL条件查询
条件查询语法:select查询列表from表名where筛选条件;分类:一、按条件表达式筛选简单条件运算符:> < = != <> >= <=二、按逻辑表达式筛选逻辑运算符:作用:用于连接条件表达式&& || !and or not &&和and:两个条件都为true,结果为true,反之为false||或or: 只要有一个条件为true,结果为true,反之为false!或not: 如果连接的条件本身为原创 2020-11-26 23:45:32 · 113 阅读 · 0 评论 -
进阶1:MySQL的基础查询
一、基础查询语法:select 查询列表 from 表名;类似于:System.out.println(打印东西);特点:1、查询列表可以是:表中的字段、常量值、表达式、函数2、查询的结果是一个虚拟的表格1.查询表中的单个字段SELECT last_name FROM employees;2.查询表中的多个字段SELECT last_name,salary,email FROM employees;3.查询表中的所有字段方式一:SELECTemployee_id,first_n原创 2020-11-26 23:11:20 · 87 阅读 · 0 评论 -
MySQL常见命令与语法规范
一、MySQL的常见命令1.查看当前所有的数据库show databases;2.打开指定的库use 库名3.查看当前库的所有表show tables;4.查看其它库的所有表show tables from 库名;5.创建表create table 表名(列名 列类型,列名 列类型,。。。);6.查看表结构desc 表名;7.查看服务器的版本方式一:登录到mysql服务端select version();方式二:没有登录到mysql服务端mysql --version原创 2020-11-26 22:59:31 · 73 阅读 · 0 评论 -
MySQL服务的启动停止登录退出
MySQL服务的启动停止登录退出MySQL服务的启动和停止二级目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MySQL服务的启动和停止方式一:计算机——右击管理——服务方式二:通过管原创 2020-11-26 22:40:47 · 88 阅读 · 0 评论