![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
给岁月以野蛮
这个作者很懒,什么都没留下…
展开
-
流程控制..
流程控制结构顺序结构:程序从上往下依次执行分支结构:程序从两条或多条路径中选择一条去执行循环结构:程序在满足一定条件基础上,重复执行一段代码一、分支结构①if函数功能:实现简单的双分支语法:SELECT IF(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则返回2的值,不成立返回3的值应用:可以任何地方使用 select、begin end②case结构情况1...原创 2020-02-29 12:29:00 · 19 阅读 · 0 评论 -
MySQL函数
FUNCTION函数DECLARE声明好处:1.提高代码重用性2.简化操作3.减少了编译次数:编译过一次 就不用编译了4.减少了和服务器连接次数,提高了效率区别:存储过程:可以有0个返回,也可以有多个返回。(适合批量的增删改)函数:有且仅有1个返回。(适合做数据处理后,返回一个结果)一、创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型...原创 2020-02-29 11:58:00 · 19 阅读 · 0 评论 -
MySQL存储过程
含义:一组预先编译好的SQL语句的集合,理解成批处语句(一组语句)存储过程函数:类似于java中的方法把实现的语句封装到方法中,对外值暴露方法名好处:1.提高代码重用性2.简化操作3.减少了编译次数:编译过一次 就不用编译了4.减少了和服务器连接次数,提高了效率简单,安全,性能高实现的过程:应用程序中,每一句SQL的执行,都会连接一次数据库服务器如果把几句话包装到存储过程...原创 2020-02-29 11:48:00 · 13 阅读 · 0 评论 -
MySQL变量
变量:VARIABLES分类系统变量:由系统提供,属于服务器层面全局变量:针对整个服务器,打开任何客户端都有效会话变量:针对于一个会话或一次连接自定义变量:用户自定义用户变量:类似java中的全局变量局部变量:类似java中的局部变量#查看数据库中所有的表SHOW TABLES;#查看当前连接下所有的数据库SHOW DATABASE;#查看表中的列SHOW COLU...原创 2020-02-29 10:26:00 · 21 阅读 · 0 评论 -
TCL--事物隔离级别--演示
数据库的隔离级别:同时运行多个事物,访问数据库中相同数据,没有采取必要的隔离机制,就会导致各种并发问题类似多线程的线程安全,五个人同时上一个厕所,所以要启用加锁的方式,实现线程同步,解决脏读:两个事物:t1、t2,t2更新还没提交的字段被t1读取了,t1读到的内容就是临时无效的例如:被记者曝光我以后的财富,上一秒一万个亿,其实我已经有两万个亿了。更新不可重复读:对于两个事物t1、t2,t1读...原创 2020-02-29 00:23:00 · 17 阅读 · 0 评论 -
TCL-事物隔离级别
事物控制语言:用于处理意外中断事物一个或一组SQL语句组成一个执行单元,要么全部执行,要么全不执行执行失败、产生错误,整个单元将会回滚。(撤销所有操作)所有影响的数据返回到事物开始前的状态。如果单元中所有SQL语句执行成功,则事物被顺利执行事物具备的属性:ACID(acid)属性1.A原子性:代表事物是一个不可分割的工作单位(最小单位),要么全部执行,要么全不执行2.C...原创 2020-02-28 23:48:00 · 17 阅读 · 0 评论 -
DDL-级联删除
#查看有没有索引:主键、外键、唯一键SHOW INDEX FROM major;SHOW INDEX FROM stuinfo;#删除外键ALTER TABLE stuinfo DROP FOREIGN KEY fk_stu_major;#传统的方式添加外键ALTER TABLE stuinfoADD CONSTRAINT fk_stu_major FOREIGN KE...原创 2020-02-28 23:20:00 · 17 阅读 · 0 评论 -
DDL-标识列自增长列
#标识列MODIFY 修改COLUMN 栏目控制某个字段又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值(从1开始,每次都会再增长1)auto_increment自增长特点:1.仅仅只能有一个标识列2.并且该列必须是一个key(主键、唯一键、外键,自定义)MySQL是这样的3.标识列类型只能是数值型 展示变量 SHOW VARIABLES LIKE '%auto...原创 2020-02-28 23:16:00 · 40 阅读 · 0 评论 -
DDL-约束
ALTER 改变TABLE 表MODIFY:更改COLUMN :列CONSTRAINT:约束REFERENCES:参考REFERENCES 引用的表(列名)常见约束约束名不可以重复控制某个字段含义:一种限制,用于限制表中的数据,为了保证表中数据的准确和可靠性(一致性)分类:六大约束nut null非空保证该字段的值不能为空。例如:姓名,学号default...原创 2020-02-28 22:49:00 · 29 阅读 · 0 评论 -
DDL-常见的数据类型
分为三大类数值型: 整形 小数: 定点数 浮点数(浮点型)字符型: 较短的文本:char varchar 较长的文本:text blob(较长的二进制数据:图片)日期型:1.整形特点:①列名后的类型默认是有符号的,无符号需要追加 unsigned(安set)②插入的数值超出 报异常 1264 - Ou...原创 2020-02-28 22:04:00 · 56 阅读 · 0 评论 -
DDL语言
数据库定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建:create 修改:alter 删除:drop database 库 table 表一、库的管理库的创建:create database 库名#案例:创建库BooksCREATE DATABASE Books#为了提高容错性CREATE DATABASE IF N...原创 2020-02-28 21:59:00 · 10 阅读 · 0 评论 -
DML语言
数据操作语言插入:insert into 表名(列名1,....)values (值1,...);修改:update 表名 set 列=值删除:delete from 表名 where 筛选条件truncate table 表名;不能加条件,整张表删除1.插入语句方式一:经典插入表已经存在了,往里面添加数据语法:insert into 表名(列名1,....)valu...原创 2020-02-28 21:20:00 · 9 阅读 · 0 评论 -
总结....
语法:select 查询列表from 表1 别名连接类型 join 表2 别名on 连接条件where 筛选条件 分组前筛选group by分组having 筛选 分组后筛选order by 排序limit 起始条目索引,条目数(分页)SQL99执行顺序:表 --> 连接表--> 连接条件 --> 分组前筛选 --> 分组 --> 分组后筛选 --...原创 2020-02-18 02:06:00 · 12 阅读 · 0 评论 -
MySQL联合查询
UNION 联合、合并:将多条查询语句的结果合并成一个结果每个查询都是一个独立查询语句,然后通过union连接到一起,变成了一个结果语法:查询语句1UNION查询语句2UNION...应用场景:查询的结果来自多个表,多个表之间没有连接关系,但查询的信息一样意义:①将一条比较复杂的语句拆分为多条,简化SQL②适用查询多个表,查询的列基本一致注意点:1.联合查询涉及到的列数必须一致2.多...原创 2020-02-18 02:03:00 · 13 阅读 · 0 评论 -
分页查询..
应用场景:当要显示的数据 一页显示不全 需要分页提交SQL请求语法:7 SELECT 查询列表1 FROM 表【2 连接类型 JOIN 表23 ON 连接条件4 WHERE 筛选条件5 GROUP BY 分组字段6 HAVING 分组后的筛选8 GROUP BY 排序的字段】9 LIMIT 【offset】,size;执行顺序:1和2执行完后形成一个笛卡尔乘积的一张虚拟的表3在1和2...原创 2020-02-18 02:01:00 · 12 阅读 · 0 评论 -
子查询...
含义:出现在其它语句中的select语句,称为子查询或内查询外部的语句可以是 insert、update、delete、selectselect在外部的查询语句,称为主查询或外查询分类:按子查询出现的位置:SELECT后:仅仅支持标量子查询FROM后:支持表子查询WHERE或HAVING后: 常用于 标量子查询√ 列子查询√ 少用于 行子查询EXISTS后(可以叫相关子查询...原创 2020-02-18 01:47:00 · 18 阅读 · 0 评论 -
MySQL连接查询
含义:又称为多表查询,当查询的字段来自于多个表时,就会用到连接查询笛卡尔乘积现象:表1有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免发生:添加有效的连接条件分类: 按年代分类:92版落后了,使用99sql92标准:1992年的推出的sql语法:只支持内连接(也支持一部分外连接用于oracle、sqlserver但是不稳定很少使用)MySQL不支持外连接sq...原创 2020-02-18 01:29:00 · 12 阅读 · 0 评论 -
MySQL分组查询
语法: ⑥SELECT 分组函数,列(此列要出现在 GROUP BY的后面) ①FROM 表 ②【WHERE 筛选条件】 ③GROUP BY 分组的列 ④【having 分组后的筛选】 ⑦【ORDER BY 按什么排序】注意:查询列表是特殊的,必须是分组函数后和GROUP BY后出现的字段特点: 1.分组查询中的筛选条件分为两类筛选的数据源不一样位置...原创 2020-02-18 00:58:00 · 19 阅读 · 0 评论 -
MySQL常见函数
概念:函数类似于java的方法(将实现某个功能的逻辑语句封装到方法中,对外暴露一个公开的名字,就是方法名)。好处: 1.隐藏类具体功能的实现细节 2.提高代码的重用性调用: SELECT 函数名(实参列表) (实参和形参的 个数、类型 必须一致) FROM 表(根据需要:函数的参数用到表中的字段)过程:调用该函数,把函数的逻辑语句执行完,将它的返回值显示出来。分类:1.单行函...原创 2020-02-17 23:17:00 · 31 阅读 · 0 评论 -
MySQL排序查询
语法:① SELECT 查询 (要找的东西)②FROM 表 (在哪个表找)③【WHERE 筛选条件】(取出重要的或有用的)④ORDER BY 排序列表 【ASC|DESC】 (排序的关键字 字段)(【升序|降序】)特点: 1.ASC代表升序,DESC代表降序。 如果不写默认升序 2.ORDER BY用于子句中可以支持单个字段,多个字段,表达式,函数,别名 3.OR...原创 2020-02-17 22:41:00 · 13 阅读 · 0 评论 -
MySQL转译
/*案例3:查询员工名中第二个字符为 _ 的员工名*/SELECTlast_name,salaryFROMemployeesWHERElast_name LIKE '_$_%' ESCAPE '$';last_name LIKE '_\_%';\右斜杠转译字符当条件需要 右斜杠时 可以使用 ESCAPE声明转译字符...原创 2020-02-17 21:39:00 · 19 阅读 · 0 评论 -
MySQL条件查询
语法:①SELECT 查询列表(可以包括:字段、表达式、常量值、几个拼在一起的,构成的表)②FROM 表名(原始表)③WHERE (理解为当...筛选条件=TRUE或筛选条件=FALSE) 筛选条件 执行顺序是:231根据筛选条件的不同分类: 1.按条件表达式筛选条件运算符:> < = !=或<> <= >=2...原创 2020-02-17 21:38:00 · 129 阅读 · 0 评论 -
MySQL判断数据是否为空
IFNULL(expr1,expr2)函数,这个函数只能判断是否为空SELECT CONCAT(first_name,',',last_name,',',job_id,IFNULL(commission_pct,0)) AS out_put FROM employees;原创 2020-02-17 20:58:00 · 106 阅读 · 0 评论 -
MySQL拼接字符串
CONCAT(str1,str2,...)MySQL专用的拼接函数MySQL中只要有一个为null和其拼接的所有都为nullSELECT CONCAT('a','b','c') AS 结果;SELECT CONCAT(last_name,first_name) AS 姓名FROM employees;...原创 2020-02-17 20:54:00 · 12 阅读 · 0 评论 -
MySQL加号+ 的作用
案例:查询员工名和员工姓,连接成一个字段,并显示为: 姓名SELECT last_name+first_name AS 姓名FROM employees;没有报错但姓名一下全是0Java中的 +号:1.运算符,两个操作数都为数值类型。最终结果为数值2.连接符,其中有一个操作数,不为数值类型。最终结果是字符串MySQL中的 +号:只有一个功能:运算符MySQL中没有字符串和字符之说,...原创 2020-02-17 20:53:00 · 126 阅读 · 0 评论 -
MySQL去重
在字段名前加上 DISTINCTSELECT department_id FROM employees;这样操作有的部门编号就是重复的,只是看用到了那些,所以要去重SELECT DISTINCT department_id FROM employees;...原创 2020-02-17 20:46:00 · 16 阅读 · 0 评论 -
MySQL起别名
好处:便于理解连接查询的时候,如果要查询的字段有重名的情况,使用别名可以区分开来注意:如果别名中有特殊符号 # 空格 ... ,需要用 "双引号" 把别名引起来单引号也行,但在MySQL建议用双引号方式一:使用 AS 关键字,后面空格加别名SELECT 100%89 AS 结果;SELECT last_name AS 姓 ,first_name AS 名FROM em...原创 2020-02-17 20:44:00 · 253 阅读 · 0 评论 -
SELECT用法
语法:SELECT 查询列表 FROM 表名;要显示什么就写在SELECT后面特点:查询列表是:表中的字段、常量、常量值、表达式、函数查询的结果是一个虚拟的表格,查询完没有保存查询不是表中的数据 其字段名就是它本身。1.如何查询单个字段:SELECT last_name FROM employees;2.如何查询多个字段:字段名之间用逗号隔开就行了,结果顺序根...原创 2020-02-17 20:36:00 · 26 阅读 · 0 评论 -
表......
employess员工表employess_id员工编号first_name名last_name姓email邮箱phone_number电话job_id工种编号salary月薪commission_pct奖金率manager_id上级领导的编号department_i...原创 2020-02-17 20:09:00 · 17 阅读 · 0 评论 -
SQL语句分类和语法
DQL:Data QueryLanguage 数据查询语言作用: 查询表中的字段 命令: select 查询 ⑦select 查询列表①from 表1 别名②连接类型 join 表2③on 连接条件④where 筛选⑤group by 分组列表⑥having 筛选⑧order by排序列表⑨limit 起始条目索引,条目数;...原创 2019-12-30 10:22:00 · 30 阅读 · 0 评论 -
MySQL语法规范
不区分大小写(规范:关键字大写,表名列名小写)每条命令用 ;结尾每条命令可以根据需要进行 缩进或换行。最标准的模板:关键字对象关键字对象注释:用于解释说明,编译器会自动忽略单行注释:#注释文字 或者 两个减号空格多行注释:/*注释文字*/报错的位置看near在什么附近数据库里面表示字符串的都是单引号,而不是双引号。表示空字符串用('')两个单引号,...原创 2019-12-29 22:21:00 · 14 阅读 · 0 评论 -
MySQL常见命令
SQL每条命令结束时用 英文分号结束 ;1.显示所有数据库show databases;mysql:专门用于保存用户信息的information_schema:保存源数据信息performance_schema:用于搜集一些性能信息。性能参数test:测试数据库:空的没有表可以直接建表,也可以修改库删除库。上面三个不能动2.打开库use 库名;提示:Database...原创 2019-12-29 22:11:00 · 12 阅读 · 0 评论 -
MySQL登录和退出
登录必须保证服务是启动的(否则有权限有身份也进不来)进入仓库(数据库)前,有身份验证。需要有权限和密码 (用户名密码)登录的方式一通过MySQL自带的客户端 Command Line Client 直接输入用户的密码就可以登录了(mysql>这个单词以上是欢迎,从》开始可以进行操作)退出:输入exit(库客户端) 或者 Ctrl+C(关闭命令行)这种方式不建议使用,因为只适合于...原创 2019-12-29 21:54:00 · 76 阅读 · 0 评论 -
MySQL启动和停止
MySQL视为大仓库,关闭的时候有权限有身份都无法进入使用的时候要保持启用状态方式一:计算机游击找到“管理”打开左侧栏目中找到“服务和应用程序”打开打开服务找到MySQL...,右击....方式二:打开dos窗口,以管理员的身份运行停止:net stop+服务名(服务名就是上面的方式一在服务中找到MySQL的名字)启动:net start+服务名...原创 2019-12-29 21:36:00 · 10 阅读 · 0 评论 -
MySQL配置文件
bin进制文件data数据lib一般放库文件my.ini配置文件prot服务端端口号mysql客户端的配置mysqld服务端的配置basedir安装目录datadir文件目录default-stroage-engine=INNODB存储引擎sql-mode=""语法模式max_connection最大连接数...原创 2019-12-29 21:30:00 · 14 阅读 · 0 评论 -
MySQL卸载
使用控制面板电脑管家卸载完成后删除原来的安装目录去C盘显示——隐藏的项目——删除ProgramData目录下的MySQL文件夹清理注册表:运行(win+R):regedit...原创 2019-12-29 21:20:00 · 12 阅读 · 0 评论 -
数据库基本概念
保存数据的容器:数组、集合、文件存放的位置: 数组和集合在内存中 缺点:容易丢失(一断电就没了) 文件在硬盘中 能实现永久的存储数据 缺点:不易查询 数据库最终存储的还是文件,数据库通过一套软件来管理文件中的数据数据库的好处: 1.实现数据持久化 2.使用完整的管理系统,统一管理,易于查询垃圾场和仓库区分开两个都可以保存东西。 垃圾场:不用的东西,有没有组织无所谓 仓库:以...原创 2019-12-29 20:53:00 · 14 阅读 · 0 评论 -
TCL-视图
VIEW视图CREATE创建replace更换MySQL5.1的新特性,是一个虚拟表(有行有列)。和普通表一样使用。它的数据来自表,通过执行时动态生成。只保存SQL逻辑,没有保存查询结果。做一个复杂的查询,把查询封装到一个视图里,形成一个虚拟的结果集。下次需要的时候就不用在写查询语句了,直接用视图例如:从每个班里挑选一部分人,组成舞蹈班。有领导来的时候,舞蹈班表演领导走了,舞蹈班就解散...原创 2020-02-29 00:33:00 · 21 阅读 · 0 评论 -
MYSQL总结
SQL语句分类数据定义语言DDL(Data Definition Language)用来定义数据的结构数据控制语言DCL(Data Control Language)用来控制数据库组件的存取许可、存取权限等得命令数据操纵语言DML(Data Manipulation Language)用来操纵数据库中得数据的命令数据查询语言DQL(Data Query Language)用来查询数据库中得...原创 2019-12-29 20:14:18 · 420 阅读 · 0 评论 -
数据库备份
cmd输入exp输入用户名密码回车路径+文件名Eyesyesyes原创 2019-10-26 16:21:23 · 50 阅读 · 0 评论