SQL学习分享
sql学习分享,有实例解析,相互学习
二师弟&
这个作者很懒,什么都没留下…
展开
-
Oracle 中插入数据时有特殊符号(@ & ` ‘)
现在用户名插入一个有特殊符号的 value,如果SQL中有& ,那么后面的字符串将被作为一个变量来处理,无法正常插入数据库。原创 2023-06-06 17:23:07 · 5016 阅读 · 1 评论 -
MySQL 主从复制,读写分离
MySQL(主从复制,读写分离)操作流程原创 2022-06-16 20:32:05 · 127 阅读 · 0 评论 -
MySQL 练习题
MySQL 练习题题目来源“老杜入门MySQL学习:https://www.bilibili.com/video/BV1Vy4y1z7EX?p=132目录建立三张表1. 取得每个部门最高薪水的人员名称2. 哪些人的薪水在部门的平均薪水之上3. 取得部门中(所有人的)平均的薪水等级(工资由高到低1~5等级:grade字段)4. 不使用组函数(Max),取得最高薪水(给出两种解决方案)5. 取得平局薪水最高的部门的部门编号6. 取得平均薪水最高的部门的部门名称7. 求平均薪水的等级最低的部门的部门名称8.原创 2022-04-20 13:29:00 · 912 阅读 · 0 评论 -
数据库中表设计思路
一对多关系一对多,两张表,多的表加外键。多对多关系多对多,三张表,关系表两个外键。原创 2022-04-19 13:40:01 · 945 阅读 · 0 评论 -
SQL —— decode函数用法(相当于 if 语句)
sql 中 decode(...)函数的用法相当于 if 语句1. decode函数比较1个参数时:SELECT ID,DECODE(inParam,'byComparedParam','值1' ,'值2') name FROM test_table;#如果第一个参数 inParam == 'byComparedParam',#则 select 得到的 name 显示为值1,#如果第一个参数 inParam != 'byComparedParam',#则 select 得到的 n原创 2022-01-04 08:52:06 · 38272 阅读 · 0 评论 -
mysql 数据处理函数汇总
1. lower(字段):字段转小写2. upper(字段):字段转小写3. substr(字段,1,2):字符串截取两个字符(截取字段,从字段第一个开始,到第二个结束)4. length(字段):字段长度5. trim:去除字段空格,即 trim 函数可以移除字符串的首尾信息。最常见的用法为移除字符首尾空格。5.1 扩展: Trim()函数:用来删除数据左右边(开始和结尾处)的空格。 Trim(数据); RTrim()函数:用来删除数据右边(结尾处)的空格。 RTrim(.原创 2021-11-23 13:18:05 · 693 阅读 · 0 评论 -
Mysql — Group by用法说明
1. sql 执行顺序eg: select ... from 表 where 条件 group by 字段(或者字面量) order by 字段 desc(或者 asc 默认升序);执行顺序: 1. from 2. where 3. group by 4. select 5. order by反例(表数据如下): select * from emp where sum(emp.sal) > 5000 [Err] 1111 - Invalid use of g原创 2021-11-23 09:34:00 · 1639 阅读 · 0 评论 -
mysql 首字母大写查询语句
//1. uppper(substr(name,1,1)):将截取的第一个元素大写//2. substr(name,2,length(name)-1):截取剩余元素//3. concat(uppper(substr(name,1,1)),substr(name,2,length(name)-1)):冤死拼接,得到首字母大写的元素select concat(uppper(substr(name,1,1)),substr(name,2,length(name)-1)) as UpperName from原创 2021-11-22 15:17:49 · 2159 阅读 · 0 评论 -
查询学生信息表班级的平均成绩
然后新建一张学生表(T_User),拥有两个字段:id、姓名,学生表的id匹配表A里的学生id,查询语句通过连接实现(不考虑内外或者交叉连接的问题了),代码如下:1 select UName,2 (select AVG(Grades) from UserInfo where GName = '语文' and UName = tu.name) as '语文',3 (select AVG(Grades) from UserInfo where GName = '数学' and UName = tu.n.原创 2021-09-23 16:43:55 · 3814 阅读 · 0 评论 -
MySQL简单多表查询&事务
多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TABLE emp ( id INT PRIMARY KE原创 2021-09-08 13:29:41 · 125 阅读 · 0 评论 -
MySQL 中的 repeate() 函数
MySQL 中的 repeate() 函数用途:用来复制字符串注: 'ab' 表示要复制的字符串,2 表示复制的份数。eg: select repeate('ab',2); 输出结果: repeate('ab',2) ababeg: select repeat('a',3); 输出结果: repeat('a',3)原创 2021-09-01 10:57:56 · 1203 阅读 · 0 评论 -
MySQL 中 concat 函数
MySQL 中 concat 函数concat函数MySQL 中 concat 函数MySQL 中 concat_ws 函数MySQL 中 group_concat 函数语法:concat(str1,str2,…)注意:返回结果为连接参数产生的字符串,如果有任何一个参数为 NULL,则返回值为 NULL。select concat("a","b","c");输出:abc注:Mysql 的 concat 函数在连接字符串的时候,只要其中一个为 NULL 则返回值为 NULL.sel原创 2021-09-01 10:48:59 · 2257 阅读 · 0 评论 -
MySQL语句 - 增删改查,实例分析(多表查询)
表关系一对一(one to one) :每个实体的独有属性(区别于其他实体),如个人的邮箱,每个用户的邮箱都是不同的,即用户与邮箱之间的关系为一对一关系。用户与购物行为,因为多个用户都可以购物,则两者为多对一的关系。表与表之间有相同主键,即为一对一关系。一对多(one to many):一个用户可以买多个商品,一个商品可以被多个用户购买,即多对多,需要一个用户表(主键:用户)和一个商品表(主键:不是用户),商品表的外键参考用户表的主键。多对多(many to many):一个用户可以购买多原创 2020-09-03 19:52:10 · 940 阅读 · 0 评论 -
SQL 索引与执行计划
SQL 索引与 执行计划1. 索引的分类 单值索引:一个索引只包含单个列,一个表可以有多个单列索引。 唯一索引:索引的值必须唯一,但允许有空值(null)。 复合索引:一个索引包含多个列。注:一张表建立的索引最好不要超过5个。2. 索引基本语法1. 创建索引 [UNIQUE] 可以省略2. 如果只写一个字段就是单值索引,写多个字段就是复合索引 create [UNIQUE] INDEX indexName ON 表名(字段名(length));3. 删除索引 DROP INDE原创 2021-08-16 10:31:28 · 519 阅读 · 0 评论 -
13.mysql—将 excel 表导入 mysql 时,时间字段格式问题解决
将 excel 表导入 mysql 时,时间字段格式问题解决问题背景:将excel 数据导入 mysql 数据库时,时间字段显示为一串数字解决方案:对 excel 中时间列进行格式修改解决excel 测试表数据数据库表数据结构,字段保证一一对应,不然会导入失败对 excel 表进行一下操作将之前导入的数据清空,进行重新导入操作,步骤如下:数据库表中时间列数据导入正确...原创 2021-06-08 17:23:56 · 2099 阅读 · 0 评论 -
12. SQL—设计和使用触发机制
文章目录1. 设计和使用触发机制2. 触发机制与事务处理3. 使用触发机制时的限制4. 在选择语句中使用更新和删除5. 静态 SQL 的特点1. 设计和使用触发机制触发机制从本质上来说是一种特殊类型的存储过程,它可以在下列三种情况之一发生时自动运行:更新插入删除1. Transcat-SQL 创建触发机制的语法格式如下: create trigger trigger_name on table_name for {insert, update, delete} a原创 2021-05-27 16:26:18 · 240 阅读 · 1 评论 -
11. SQL—数据库安全
文章目录1. 流行的数据库产品与安全2. 如何让一个数据库变得安全?3. Personal Oracle7 与安全4. 创建角色5. 用户使用视图的权利6. 从建表到角色授权7. 使用表时的限制8. 使用 WITH GRANT OPTION 子句1. 流行的数据库产品与安全1. MicroSoft FoxPro 数据库管理系统 是一个非常强大的基于单用户环境的数据库管理系统, 它只使用了有限的 SQL 标准的子集, 在该数据库系统中没有提供安全性措施, 同时它使用了 Xbase原创 2021-05-27 13:37:22 · 222 阅读 · 1 评论 -
10. SQL—事务处理控制
文章目录1. 事务控制2. 开始事务处理3. 结束事务处理4. 取消事务处理5. 在事务中使用保存点6. 总结1. 事务控制事务控制或者事务处理是指数据库系统执行数据库事务的能力,事务是指在逻辑上必须完成的一命令序列的单位。单位工作期是指事务的开始和结束时期。如果在事务中产生错误,那个整个过程可以根据需要被终止,如果每一件事都是正确的,那么结果将会被保存到数据库中。2. 开始事务处理所有支持事务处理的系统都必须以一种准确的语法来告诉系统一项事务是如何开始的(不要忘记事务处理只是工作的逻辑分组,它有自原创 2021-05-26 16:57:29 · 379 阅读 · 1 评论 -
9. SQL—索引
1. 使用索引使用索引是另外一种让数据提供给用户的形式与它在数据库中不同的方法,此外,索引可以让存储于磁盘上的数据进行重新排序,这是一些视图不具有的功能。在 SQL 中使用索引是其于以下几个原因:提高查询的执行速度。可以容易地用索引字段或其它字段进行排序。在使用 UNIQUE 关键字时强制性地保证数据的完整性。2. 什么是索引?在数据库中使用索引可以让 SQL 使用直接访问方式。SQL 采用树形结构来存储和返回索引数据,用以指示的数据存储在树的最末端,也就是叶子,它们被称为结点。也可以原创 2021-05-25 16:40:59 · 145 阅读 · 3 评论 -
8. SQL—视图
视图1. 使用视图2. 列的重命名3. SQL 对视图的处理过程4. 在 SELECT 语句中使用约束5. 在视图中修改数据6. 在单位换算中使用视图7. 在视图上使用简单的结构化复合查询8. 删除视图语句1. 使用视图视图语法:CREATE VIEW <view_name> [(column1, column2...)] ASSELECT40<table_name column_names>FROM<table_name>注:当从视图中创建视原创 2021-05-21 13:45:31 · 589 阅读 · 3 评论 -
7. SQL—创建和操作表
SQL创建和操作表1. 创建一个数据库2. 设计数据库2. 建立数据字典3. 建立关键字段4. CREATE TABLE 语句5. 空值属性6. 唯一属性7. ALTER TABLE 语句8. DROP TABLE 语句9. DROP DATABASE 语句1. 创建一个数据库CREATE DATABASE database_name;2. 设计数据库许多因素会对设计的数据库造成影响:1.安全问题2.磁盘的可用空间3.数据检索及响应的速度4.数据更新的速度5.多表归并返回数据的速原创 2021-05-19 16:29:10 · 285 阅读 · 4 评论 -
6. SQL—操作数据
SQL数据操作数据操作语句 - INSERT 语句1. 插入空值2. 插入唯一值3. INSERT SELECT 语句UPDATE 语句DELETE 语句总结数据操作语句 - INSERT 语句INSERT 语句允许你向数据库中输入数据 它有两种写法:INSERT VALUES 和 INSERT SELECT插入一条数据(数据量不大)INSERT INTO table_name ( col1, col2...) VALUES ( value1, value2...)注原创 2021-05-19 13:39:44 · 326 阅读 · 1 评论 -
5. SQL子查询—内嵌的SQL子句
内嵌的SQL子句1. 子查询2. 建立一个子查询3. 在子查询中使用汇总函数4. 子查询的嵌套5. 相关子查询6. 在子查询中使用EXIST,ANY和ALL关键字1. 子查询子查询是一种把查询结果作为参数返回给另外一个查询的一种查询,子查询可以让你多个查询绑定在一起。2. 建立一个子查询简而言之,子查询可以让你把查询的结果与另外一个查询绑定在一起。通用的语法格式:SELECT * FROM TABLE1WHERE TABLE1.SOMECOLUMN =( SELECT原创 2021-05-18 16:57:58 · 269 阅读 · 1 评论 -
4. SQL — 表的联合
表的联合1. 执行外部联合,左右联合2. 执行内部联合,左右联合3. 进行等值联合4. 进行不等值联合5. 表的自我联合1. 执行外部联合,左右联合外部联合是表间的联合。1. 联合两个表(交叉联合): 两个表进行接合生成新的表. SELECT * FROM TABLE1, TABLE2; 2. 将 PARTS 表与 ORDERS 表进行联合: SELECT O.ORDEREDON, O.NAME, O.PARTNUM, P.PARTNUM, P.D原创 2021-05-12 15:17:56 · 600 阅读 · 2 评论 -
3. SQL中的子句
SQL中的子句1. where2. starting with3. order by4. group by5. having6. 子句的综合使用1. where仅使用 SELECT 和 FROM 子句你会受到表中的每一行数据均返回的限制.2. starting withSELECT PAYEE,AMOUNT,REMARKS FROM CHECKSWHEREPAYEE STARTING WITH('Ca') OR REMARKS LIKE 'G%';3. order by对查询原创 2021-05-12 11:18:46 · 673 阅读 · 0 评论 -
2. SQL函数:对数据的进一步处理
函数:对数据的进一步处理文章目录函数:对数据的进一步处理1. 汇总函数2. 日期与时间函数3. 数学函数4. 字符函数5. 转换函数6. 其他函数7. 总结1. 汇总函数这是一组函数,它们返回的数值是基于一列的(因为你不会对单个的记录求它的平均数)1. COUNT 该函数将返回满足 where 条件子句中记录的个数。 select count(*) from 表 where 列1 < 20; 为了是这段代码更易读,可以使用别名: select count(*) num_列1_20原创 2021-05-11 15:47:20 · 357 阅读 · 2 评论 -
1. SQL基础查询操作运算讲解
1. 基础查询操作运算讲解文章目录1. 基础查询操作运算讲解2. 不等于(<> or !=)3. 模糊查询(like)4. 连接(||)5. 逻辑运算6. 集合运算(SET)1. 去重查询: select distinct 列名 from 表名 2. 加减号用法: 加号: 第一种用法是在 SELECT 子句中使用+号以执行对数据的运算并将结果显示出来; 第二种用法是在 WHERE 子句中使用加号. eg:select 列1,列2+0.5 from原创 2021-05-10 14:08:26 · 1336 阅读 · 2 评论 -
MySQL基础语法
MySQL基础语法1. 建库操作1. 建库:create database 库名;2. 判断库是否存在,不存在则创建: create database if not exists 库名;3. 查看库:show create database 库名; show databases;4. 查看数据库的编码格式: create database 库名 character set utf8; create database if not exists 库名 character set 编码方式;原创 2020-09-02 10:07:05 · 184 阅读 · 0 评论 -
数据库介绍
一,数据库1.1 概念数据库就是存储数据的仓库数据库可以实现数据的持久化存储数据库的本质是文件系统1.2 DBMSDatabase Management System:数据库管理系统DBMA:数据库管理员常见的数据库管理系统:MySQL:Oracle公司的中小型数据库,从6版本开始收费Oracle:Oracle公司的大型数据库,收费的DB2:IBM公司的大型数据库SQLServer:Mircosoft公司的大型数据库SQLite:移动端的嵌入式的小型数据库原创 2020-08-10 12:28:55 · 137 阅读 · 0 评论