数据库
mysql和oracle
小鑫-Chen
持之以恒
展开
-
28流程控制结构
流程控制结构顺序结构:程序从上往下一次执行。分支结构:程序从两条或多条路径中选择一条去执行。循环结构:程序在满足一定条件的基础上,重复执行一段代码。一、分支结构1、if 函数功能:实现简单的双分支语法:IF(表达式1,表达式2,表达式3)执行顺序:如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值。2、case 结构用法1:...原创 2021-03-01 10:36:11 · 104 阅读 · 0 评论 -
27、存储过程和函数
存储过程和函数存储过程和函数:类似于Java中的方法。好处:提高了代码的重用性简化操作减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。存储过程含义:一组预先编译好的SQL语句的集合,可以理解成批处理语句。一、创建语法:CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的sql语句);END注意事项:1、参数列表包含三部分:参数模式、参数名、参数类型参数模式:IN:该参数可以作为输入OUT:该参数可以作为输出INO原创 2021-02-28 19:10:16 · 235 阅读 · 1 评论 -
26、变量
变量变量分为系统变量和自定义变量。系统变量概念:系统变量由系统提供,不是用户定义,属于服务器层面。系统变量分为全局变量和会话变量1、全局变量作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话有效,但不能跨重启。①查看所有全局变量SHOW GLOBAL VARIABLES;②查看部分全局变量SHOW GLOBAL VARIABLES LIKE "%char%";③查看指定的全局变量SELECT @@global.tx_isolation;SELECT @@globa原创 2021-02-26 16:54:40 · 182 阅读 · 0 评论 -
25、视图
视图含义:虚拟表,和普通表一样使用。视图是 mysql5.0.1 版本出现的新特性,是一种虚拟存在的表,行和列的数据来自定义视图时查询中的表。视图是在使用时动态生成的,只保存了sql逻辑,不保存查询结果。应用场景:多个地方用到同样的查询结果,该查询结果使用的sql语句比较复杂。视图的好处:实现了sql语句的重用简化了复杂的操作,不必知道它的细节保护数据,提高了安全性,不用知道基表一、创建视图语法:CREATE VIEW 视图名AS查询语句;案例1:查询姓名中包含a字符的员工名原创 2021-02-26 14:54:55 · 166 阅读 · 0 评论 -
24、TCL(事务控制语言)
事务什么是事务:事务由单独单元的一个或多个sql语句组成,在这个单元中,每条sql语句都是相互依赖的,而整个单独单元是一个不可分割的整体。如果单元中某条sql语句一旦执行失败或产生错误,整个单元将回回滚,所有受到影响的数据返回到事务开始以前的状态。如果单元中的所有sql语句均执行成功,则事务将顺利执行。案例:张三丰 1000郭襄 1000张三丰向郭襄转账500,其对应的sql语句位为:UPDATE 表 SET balance=500 WHERE `name`="张三丰";U原创 2021-02-22 15:04:03 · 157 阅读 · 0 评论 -
23 标识列
标识列标识列:又称为增长列。其作用是可以不用手动地插入值,而是系统提供默认地序列值。一、创建表时设置标识列DROP TABLE IF EXISTS tab_identity;CREATE TABLE tab_identity( id INT PRIMARY KEY, `name` VARCHAR(20));INSERT INTO tab_identity(`name`) VALUES("john");INSERT INTO tab_identity(`name`) VALUES("lu原创 2021-02-20 18:33:30 · 198 阅读 · 0 评论 -
22 常见约束
常见约束原创 2021-02-18 23:22:28 · 274 阅读 · 0 评论 -
21 常见的数据类型
常见的数据类型1、数值型:整型、浮点型(定点数、浮点数)2、字符型:较短的文本:CHAR、VARCHAR较长的文本:TEXT、BLOB(较长的二进制数据)3、日期型一、整型整数类型字节范围Tinyint1有符号:-128-127 无符号:0~255Smallint2有符号:-32768~32767 无符号:0~65536Mediumint3有符号:-8388608~8388607 无符号:0~1677215Int、Integer4有符原创 2021-02-07 15:50:37 · 6702 阅读 · 0 评论 -
20 DDL语言(数据定义语言)
DDL语言数据定义语言:用来对库和表进行管理一、库的管理1、库的创建语法:CREATE DATABASE [IF NOT EXISTS] 库名;案例1:创建库booksCREATE DATABASE IF NOT EXISTS books;2、库的修改一般不修改,不过可以修改库的字符集:ALTER DATABASE books CHARACTER SET gbk;3、库的删除DROP DATABASE IF EXISTS books;二、表的管理1、表的创建语法:CR原创 2021-02-05 16:55:43 · 95 阅读 · 0 评论 -
19 删除
删除方式一:1、单表删除案例:删除手机号以9结尾的女神信息DELETE FROM girls.beauty AS BWHERE B.phone LIKE "%9";2、多表删除案例:删除张无忌的女朋友的信息92语法:DELETE BFROM girls.beauty AS B, girls.boys AS BoWHERE B.boyfriend_id = Bo.idAND Bo.boyName = "张无忌";99语法:DELETE FROM girls.beauty AS原创 2021-02-01 16:34:28 · 152 阅读 · 0 评论 -
18 修改
修改一、修改单表的记录语法:UPDATE 表名SET 列=新值, 列=新值,...WHERE 筛选条件;案例一:修改beauty表中姓唐的女神的电话为1388UPDATE girls.beauty SET phone="123213"WHERE NAME LIKE "唐%";案例二:修改boys表中id为2的名字为张飞,魅力值为100UPDATE girls.beauty SET boyName="张飞",userCP=100WHERE id=2;二、修改多表的记录92语法:原创 2021-02-01 16:25:18 · 127 阅读 · 0 评论 -
17 插入
DML语言数据操作语言插入 INSERT修改 UPDATE删除 DELETE插入语句方式一:经典的插入语法:INSERT INTO 表名(列名,列名,...) VALUES(值1,值2,...)注意:1、插入值的类型要与列的类型一致或兼容INSERT INTO girls.beauty(id, NAME, sex, borndate, phone, photo, boyfriend_id)VALUES(100, "唐艺昕", "女", "1991-1-1", "12321321原创 2021-02-01 16:13:15 · 172 阅读 · 0 评论 -
16 联合查询
联合查询将多条查询语句的结果合并成一个结果语法:查询语句1UNION查询语句2UNION...应用场景:当要查询的结果来自多个表,且之间没有连接关系,就可以用联合查询案例1:原创 2021-02-01 12:07:14 · 73 阅读 · 0 评论 -
15 分页查询
分页查询应用场景:当要显示的数据一页显示不全,需要分页提交sql请求语法:SELECT 查询列表FROM 表【JOIN TYPE】join 表2ON 连接条件WHERE 筛选条件GROUP BY 分组字段HAVING 分组后筛选ORDER BY 排序的字段LIMIT offset, size;案例1:查询前5条员工的信息SELECT *FROM employeesLIMIT 5;案例2:查询第11条到25条信息SELECT *FROM employeesLIMIT原创 2021-01-27 10:41:41 · 130 阅读 · 0 评论 -
14、子查询
子查询分类放在SELECT后面- 仅支持标量子查询放在FROM后面- 支持表子查询放在WHERE或HAVING后面- 支持标量子查询、列子查询、行子查询一、WHERE或HAVING后面1、标量子查询(单方单列子查询)案例1: 查询谁的工资比Abel高?SELECT last_nameFROM employeesWHERE salary > ( SELECT salary FROM employees WHERE last_name = "Abel");原创 2021-01-26 19:10:36 · 78 阅读 · 0 评论 -
13、sql99语法的连接查询
sql99语法SELECT 查询列表FROM 表1 别名[连接类型] JOIN 表2 别名ON 连接条件[WHERE 筛选条件][GROUP BY 分组][ORDER BY 排序条件]一、内连接语法:SELECT 查询列表FROM 表1 别名INNER JOIN 表2 别名ON 连接条件1、等值连接案例一、查询员工名、部门名SELECT E.last_name, D.department_nameFROM employees AS EINNER JOIN depart原创 2021-01-24 18:18:56 · 153 阅读 · 0 评论 -
12 sql92语法的连接查询
连接查询含义:又称多表查询,当查询的字段来自多个表时,就会用到连接查询笛卡尔乘积现象:表1 有m行,表2 有n行,结果为 m*n行如何发生:没有有效地连接条件按功能分类:内连接- 等值连接- 非等值连接- 自连接外连接- 左外连接- 右外连接- 全外连接交叉连接内连接之等值连接1、简单介绍案例1:查询女神名和对应的男生名SELECT beauty.`name`, boys.boyNameFROM beauty, boysWHERE beauty.boyf原创 2021-01-20 19:48:37 · 119 阅读 · 0 评论 -
11 分组查询
分组查询GROUP BY,可以将表中的数据分成若干组语法:SELECT 分组函数(列)FROM 表【WHERE 筛选条件】GROUP BY 分组的列表【ORDER BY 子句】简单的分组查询案例1:查询每个工种的最高工资SELECT MAX(salary), job_id FROM employeesGROUP BY job_id;案例2:查询每个位置上的部门个数SELECT COUNT(*), location_idFROM departmentsGROUP BY lo原创 2021-01-19 22:22:29 · 95 阅读 · 0 评论 -
10、分组函数
介绍功能:用作统计使用,又称为聚合函数、统计函数或组函数分类:sum求和、avg平均值、max最大值、min最小值、count计算个数特点:- sum、avg一般用于处理数值型max、min、count可以处理任何类型- 以上分组方式都忽略null值- 可以和distinct搭配实现去重的运算- count函数的一般用法 COUNT(%)1、简单使用SELECT SUM(salary) FROM employees;SELECT AVG(salary) FROM employees原创 2021-01-19 20:33:44 · 105 阅读 · 0 评论 -
9、单行函数之流程控制函数
流程控制函数1、IF函数,相当于Java中的 if else 的效果SELECT IF(10 > 5, '大', '小');SELECT last_name, commission_pct, IF(commission_pct IS NULL, '没奖金', '有奖金') 备注 FROM employees;2、CASE 函数使用一:类似于 Java 中的 SWITCH CASE 效果java中:switch(变量或表达式){ case 常量1:语句1;break; ... de原创 2021-01-18 21:38:07 · 89 阅读 · 0 评论 -
8、单行函数之数学函数 & 日期函数 & 其他函数
数学函数1、ROUND 四舍五入SELECT ROUND(1.65);SELECT ROUND(-1.5); #不管正数负数,先把绝对值四舍五入了,再添加正负号SELECT ROUND(1.567, 2); #小数点后保留两位进行四舍五入2、CEIL 向上取整 返回 >= 该参数的最小整数SELECT CEIL(0.0021); # 1SELECT CEIL(-0.2); # 03、FLOOR 向下取整 返回小于等于该参数的最大整数SELECT FLOOR(0.0021)原创 2021-01-18 10:13:59 · 113 阅读 · 0 评论 -
7 单行函数之字符函数
字符函数1、LENGTH() 获取参数值得字节个数SELECT LENGTH('陈鑫123');2、CONCAT() 拼接字符串SELECT CONCAT(last_name, '-', first_name) FROM employees;3、UPPER()、LOWER()SELECT UPPER("chenxin");SELECT LOWER(`"Chenxin");示例:将姓大写,名小写SELECT CONCAT(UPPER(last_name), LOWER(first_na原创 2021-01-17 22:19:13 · 69 阅读 · 0 评论 -
6 排序查询
排序查询语法:SELECT 查询列表 FROM 表名 【WHERE 筛选条件】 ORDER BY 排序列表 【ASC|DESC】;案例1:查询员工信息,要求工资从高到低排序SELECT * FROM employees ORDER BY salary DESC; //如果不写DESC或者ASC,则默认是ASC案例2:查询部门编号 >= 90的员工信息,按入职时间的先后进行排序...原创 2021-01-17 19:55:46 · 93 阅读 · 0 评论 -
5 条件查询
条件查询基本语法:SELECT 查询列表 FROM 表名 WHERE 筛选条件;执行顺序:FROM 表名; 看看有没有这个表WHERE 筛选条件; 看看表中哪个部分满足条件SELECT 查询列表; 选择想要查询的信息筛选条件分类:按条件表达式筛选条件运算符:> 大于< 小于= 等于!= 不等<> 不等>= 大于等于<= 小于等于按逻辑表达式筛选逻辑运算符:AND原创 2021-01-11 10:05:02 · 188 阅读 · 0 评论 -
4 基础查询
DQLDQL:Data Query Language,数据查询语言。基础查询语法:select 查询列表 from 表名;特点:查询列表可以是表中的字段、常量值、表达式、函数。查询的结果是一个虚拟的表格,是临时性的。1、查询表中的单个字段SELECT last_name FROM employees;2、查询表中的多个字段SELECT last_name, salary, email FROM employees;3、查询表中的所有字段SELECT * FROM empl原创 2021-01-10 10:56:09 · 113 阅读 · 0 评论 -
3 MySQL的常用命令 &语法规范
MySQL常用命令查看当前所有的数据库show databses;打开指定的数据库use 库名查看当前库的所有表show tables;查看另一个库的所有表show tables from 库名;创建表create table 表名{列名 列类型列名 列类型…}查看表结构desc 表名查看MySQL版本方法一:在mysql的命令行中输入:select version();方法二:在DOS命令中,mysql --version(或者 mysq原创 2021-01-09 21:19:44 · 94 阅读 · 4 评论 -
2 MySQL的安装与使用
MySQL软件的介绍MySQL数据库隶属于MySQL AB公司,总部位于瑞典,后被Oracle收购。优点:- 成本低:开放源代码,一般可以免费试用- 性能快:执行很快- 简单:很容器安装和使用DBMS分为两类基于共享文件系统的DBMS(Access)基于客户机----服务器的DBMS(MySQL、Oracle、SqlServer)Windows平台下载http://dev.mysql.com/downloads/mysqlMySQL服务的启动和停止管理员身份打开cmd启动原创 2021-01-09 20:56:08 · 81 阅读 · 0 评论 -
1 数据库介绍
数据库的好处实现数据持久化使用完整的管理系统统一管理,易于查询数据库的相关概念DB数据库(database):存储数据的“仓库”。它保持了一系列有组织的数据。DBMS数据库管理系统(Database Management System):数据库是通过DBMS创建和操作的容器常见的数据库管理系统:MySQL、Oracle、DB2、SqlServer等SQL结构化查询语言(Structure Query Language):专门用来与数据库通信的语言。SQL的优点它并不是某个特原创 2021-01-09 20:08:58 · 79 阅读 · 0 评论