![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql基础
言笑晏晏~
学习永不止步
展开
-
mysql删除存储过程报错drop procedure if exists SEARCH()
DROP PROCEDURE IF EXISTSSEARCH();报错:查询:drop procedure if exists SEARCH()错误代码: 1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘()’ at line 1mysql删除存储过程一直报错,原来是过程名原创 2020-11-23 13:42:57 · 5424 阅读 · 2 评论 -
mysql学习笔记之流程控制结构
#流程控制结构/*顺序、分支、循环*/#一、分支结构#1.if函数/*语法:if(条件,值1,值2)功能:实现双分支应用在begin end中或外面*/#2.case结构/*语法:情况1:类似于switchcase 变量或表达式when 值1 then 语句1;when 值2 then 语句2;…else 语句n;end情况2:casewhen 条件1 then 语句1;when 条件2 then 语句2;…else 语句n;end应用在begin e原创 2020-06-20 12:55:02 · 128 阅读 · 0 评论 -
mysql学习笔记之函数
#函数/*含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新函数:有且仅有1 个返回,适合做处理数据后返回一个结果*/#一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型BEGIN函数体END/*注意:1.参数列表 包含两部分:参数名 参数类型2.函数体:肯定原创 2020-06-16 17:35:12 · 130 阅读 · 0 评论 -
mysql学习笔记之存储过程
#存储过程和函数/*存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作/#存储过程/含义:一组预先编译好的SQL语句的集合,理解成批处理语句1、提高代码的重用性2、简化操作3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率*/#一、创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN存储过程体(一组合法的SQL语句)END#注意:/*1、参数列表包含三部分参数模式 参数名 参数类型举例:in原创 2020-06-15 19:35:53 · 133 阅读 · 0 评论 -
命令行启动mysql服务时发生系统错误,拒绝访问
错误:启动mysql服务时发生系统错误,拒绝访问是因为权限不够造成的,启动mysql服务时要有管理员权限,所以以管理员身份打开cmd再启动问题就解决啦。原创 2020-06-15 12:57:54 · 2869 阅读 · 0 评论 -
mysql学习笔记之变量
#变量/*系统变量:全局变量会话变量自定义变量:用户变量局部变量/#一、系统变量/说明:变量由系统定义,不是用户定义,属于服务器层面注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别使用步骤:1、查看所有系统变量show global|【session】variables;2、查看满足条件的部分系统变量show global|【session】 variables like ‘%char%’;3、查看指定的系统变量的值转载 2020-06-15 12:52:00 · 116 阅读 · 0 评论 -
mysql学习笔记之视图(view)
#视图/*含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据比如:舞蹈班和普通班级的对比创建语法的关键字 是否实际占用物理空间 使用视图 create view 只是保存了sql逻辑 增删改查,只是一般不能增删改表 create table 保存了数据 增删改查*/#案例:查询姓张的学生名和专业名SELECT stuname,majornameFROM stuinfo sINNER JOIN major m ON s.majorid= m.i原创 2020-06-14 16:27:35 · 220 阅读 · 0 评论 -
mysql学习笔记之自增长列
#标识列/*又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值特点:1、标识列必须和主键搭配吗?不一定,但要求是一个key2、一个表可以有几个标识列?至多一个!3、标识列的类型只能是数值型4、标识列可以通过 SET auto_increment_increment=3;设置步长可以通过 手动插入值,设置起始值*/#创建表时设置标识列DROP TABLE IF EXISTS tab_identity;CREATE TABLE tab_identity(id INT ,原创 2020-06-13 13:27:16 · 143 阅读 · 0 评论 -
mysql学习笔记之Transaction Control Language 事务控制语言
#TCL/*Transaction Control Language 事务控制语言事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。案例:转账张三丰 1000郭襄 1000update 表 set 张三丰的余额=500 where name=‘张三丰’意外update 表 set 郭襄的余额=1500 where name=‘郭襄’事务的特性:ACID原子性:一个事务不可再分割,要么都执行要么都不执行一致性:一个事务执行会使数据从一个一致状态原创 2020-06-13 13:25:20 · 337 阅读 · 0 评论 -
mysql学习笔记之常见约束
#常见约束/*含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束NOT NULL:非空,用于保证该字段的值不能为空 not null比如姓名、学号等DEFAULT:默认,用于保证该字段有默认值 default比如性别PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空 primary key比如学号、员工编号等UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空 unique比如座位号CHECK:检查约束【mysql中不支持】 c原创 2020-06-10 23:42:26 · 186 阅读 · 0 评论 -
mysql学习笔记之库和表的管理
#DDL/*数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建: create修改: alter删除: drop/#一、库的管理#1、库的创建/语法:create database [if not exists]库名;/#案例:创建库BooksCREATE DATABASE IF NOT EXISTS books ;#2、库的修改RENAME DATABASE books TO 新库名;#更改库的字符集ALTER DATABA原创 2020-06-10 16:33:53 · 102 阅读 · 0 评论 -
mysql学习笔记之常见数据类型
#常见的数据类型/*数值型:整型小数:定点数浮点数字符型:较短的文本:char、varchar较长的文本:text、blob(较长的二进制数据)日期型:*/#一、整型/*分类:tinyint、smallint、mediumint、int/integer、bigint1 ----------- 2 ----------- 3 ----------- - 4 ------------原创 2020-06-10 19:47:04 · 139 阅读 · 0 评论 -
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-23’,原创 2020-06-09 23:04:04 · 279 阅读 · 0 评论 -
mysql学习笔记之联合查询(进阶九)
USE myemployees #进阶九:联合查询/*union 将多条查询语句的结果合并成一个结果语法:查询语句1union查询语句二union……特点: 查询列数一致,类型相同,顺序一样默认去重,(union all可不去重)*/#引入案例:查询部门编号>90 或邮箱包含a的员工信息SELECT*FROMemployeesWHERE email LIKE ‘%a%’OR department_id > 90 ;#--------------------原创 2020-06-09 12:02:43 · 588 阅读 · 0 评论 -
mysql学习笔记之分页查询(进阶8)
#进阶8:分页查询 ★/*应用场景:当要显示的数据一页显示不全,需要分页提交sql请求语法: select 查询列表from 表【join type join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段】limit 【offset,]】size;offset要显示条目的起始索引(起始索引从0开始)size 要显示的条目个数特单:1.limit 语句放在查询语句的最后2.公式要显示的页数page,原创 2020-06-07 23:45:26 · 125 阅读 · 0 评论 -
mysql学习笔记之子查询(进阶7)
#进阶7:子查询/*含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置:select后面:仅仅支持标量子查询from后面: 支持表子查询where或having后面:★ 标量子查询(单行) √ 列子查询 (多行) √ 行子查询 exists后面(相关子查询) 表子查询按结果集的行列数不同:标量子查询(结果集只有一行一列)列子查询(结果集只有一列多行)行子查询(结果集有一行多列)表子查询(结原创 2020-06-07 23:15:24 · 148 阅读 · 0 评论 -
mysql学习笔记之连接查询(sql99标准)(进阶六下)
#二、sql99语法/*语法:select 查询列表from 表1 别名 【连接类型】join 表2 别名on 连接条件【where 筛选条件】【group by 分组】【having 筛选条件】【order by 排序列表】分类:内连接(★):inner外连接左外(★):left 【outer】右外(★):right 【outer】全外:full【outer】交叉连接:cross内连接语法:select 查询列表from 表1 别名inner join 表2 别原创 2020-06-04 23:16:55 · 102 阅读 · 0 评论 -
mysql学习笔记之连接查询(sql92标准)(进阶六上)
#进阶六:连接查询/*含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1 m行,表2 n行,输出m*n行发生原因:没有有效的连接条件如何避免:添加条件分类:按年代分类sql92标准:仅仅支持内连接sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接按功能分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接 右外连接 全外连接 交叉连接*/USE girls;SELECT * FROM b原创 2020-06-02 23:05:59 · 266 阅读 · 0 评论 -
mysql学习笔记之 分组查询(进阶五)
#进阶五:分组查询/*语法:select 分组函数,列(要求出现在group by 的后面)from 表【where 筛选条件】group by 分组的列表【order by 子句】注意:查询了表必须特殊,要求是分组函数和group by后出现的字段特点:1.分组查询中的筛选条件分为两类数据源 位置 关键字分组前筛选 原始表 group by 子句的前面 where分组后筛选 分组后的结果表 group by 子句的后面 having分组函数做条件肯定是放在having原创 2020-05-31 22:03:27 · 195 阅读 · 0 评论 -
mysql学习笔记之排序查询和函数(进阶四)
USE myemployees;#进阶四:排序查询()/*语法:select 查询列表from 表order by 排序列表【asc|desc】asc升序desc降序,可不写,默认升序/#案例:查询员工信息,要求工资从高到底排序SELECT * FROM employees ORDER BY salary ASC;#案例:查询部门编号》=990 的员工信息,按入职时间的先后顺序排序SELECT*FROMemployeesWHERE department_id >= 90原创 2020-05-31 20:18:20 · 190 阅读 · 0 评论 -
mysql学习笔记之模糊查询(进阶三)
USE myemployees;#进阶三:模糊查询/*like (一般和通配符搭配(%任意多个字符和_任意单个字符)使用)between andinis null*/#案例一:查询员工中包含字符a的员工信息SELECT * FROM employees WHERE last_name LIKE ‘%a%’;#案例二:查询名中第一三五个为字符为a的员工信息SELECT * FROM employees WHERE last_name LIKE ‘a_a_a%’;#案例三:特殊:查询名中原创 2020-05-31 20:10:26 · 462 阅读 · 0 评论 -
mysql学习笔记之条件查询(进阶二)
USE myemployees;#进阶二:条件查询/*语法:select查询列表from表名where筛选条件;分类:一、按条件表达式筛选条件运算法:> = < != <> >= <=二、按逻辑表达式筛选逻辑运算符: && || ! and or not一、按条件表达式筛选#案例一、按条件表达式筛选 案例:查询工资大于12000的员工信息SELECT*FROMemployeesWHEREsalary>1原创 2020-05-31 19:21:21 · 187 阅读 · 0 评论 -
mysql学习笔记之基础查询(进阶一)
USE myemployees;/*语法:select 查询列表 from 表名特点:查询列表可以是什么:表中的字段、常量值、表达式、函数查询的结果是一个虚拟的表格*/#1. 查询表中的字段SELECT last_name FROM employees;#2. 查询表中的多个字段SELECT last_name,salary,email FROM employees;#3. 查询表中的所有字段SELECTemployee_id,first_name,last_name,原创 2020-05-26 00:59:28 · 231 阅读 · 0 评论 -
No query(s)were executed.Please enter a query in the SQL window or place the cursor inside a query.
No query(s)were executed. Please enter a query in the SQL window or place the cursor inside a query.(没有执行查询(s)。请在SQL窗口中输入查询或将光标放在查询中。)初学mysql数据库,出现这条错误,是因为没有选中命令就执行,它不知道你要执行的是哪条命令。解决方法:选中你要执行的命令再执行就好了...原创 2020-05-26 00:02:26 · 7981 阅读 · 3 评论