SQL语句编写规范
文章目录
- SQL语句编写规范
- 前言
- SQL编写总则
- PL/SQL书写规则
- SQL语句的大小写
- SQL语句的命名
- SQL语句的缩进
- SQL语句的换行
- SQL 书写应遵循以下空格规则
- 不等于应统一使用符号“<>”
- SQL 语句的注释
- SQL字符串书写规则
- SQL语句的大小写
- SQL语句的命名
- SQL语句的缩进和换行
- SQL书写应遵循以下空格规则。
- 不等于应统一使用符号“<>”。
- 拼装SQL语句时宜使用StringBulider,不宜使用String + String的方式。
- SQL 语句的注释。
SQL语句编写规范
前言
SQL语句似乎没有官方指定的编码规范;这样一来,在编写存储过程、几百上千行代码的SQL时,代码的阅读性就会变得很差。恰好在网上找到了一份貌似某公司总结的编码规范,记录如下。
- 适用范围:本规范规定了SQL DQL和DML语言的编写总则,从书写格式和性能优化两方面归纳了SQL书写的具体要求,并给出SQL语句示例。
SQL编写总则
- SQL语句应正确、规范、高效和最优;
- 同一项目的SQL书写格式应该统一;
- 应避免写非常复杂的SQL语句;
- SQL语句不应在客户端组织,而应在服务器端组织;
- SQL语句的语法应与所使用的数据库相适应;
- 应确保变量和参数的类型和大小与数据库中表数据列相匹配。
- 使用SELECT语句时,应指出列名,不应使用列的序号或者用“*”替代所有列名;
- 使用INSERT语句时,应指定插入的字段名,不应不指定字段名直接插入VALUES;
- 如果SQL语句连接多表时,应使用表的别名来引用列;
示例:
//正确的示例
SELECT list.manifest_no,list.bill_no,stat.list_stat
FROM
mft_list list,
list_stat stat
WHERE
list.manifest_no = stat.manifest_no
AND list.bill_no = stat.list_no;
- SQL语句应避免对大表的全表扫描操作,对大表的操作应尽量使用索引;
- SQL语句应避免不必要的排序;
- SQL语句应避免删除全表的操作;
- 应使用变量绑定实现SQL语句共享,避免使用硬编码;
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT emp_name
FROM emp
WHERE emp_no = :B1; //Bind value: 123SELECT emp_name
FROM emp
WHERE emp_no = :B1; //Bind value: 987SELECT emp_name
FROM emp
WHERE emp_no = 123;
SELECT emp_name
FROM emp
WHERE emp_no = 987;
- 在含有子查询的SQL语句中,应减少对表的查询。
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
UPDATE emp
SET
emp_cat = (SELECT MAX(category)
FROM emp_categories),
sal_range = (SELECT MAX(sal_range) FROM emp_categories)
WHERE emp_dept = 0020;UPDATE emp
SET (emp_cat, sal_range) = (SELECT MAX(category), MAX(sal_range)FROM emp_categories)
WHERE emp_dept = 0020;
- SQL语句尽可能避免多表联合复杂查询。
- 应将SQL语句中的数据库函数、计算表达式等放置在等号右边。
- 应按照业务需要使用事务,同时应保持事务简短,避免大事务。
- 在事务完整性的基础上,SQL语句应在程序中显式使用 COMMIT,ROLLBACK,尽快提交事务,释放系统资源。
- SQL语句应避免频繁引起数据库事务回滚。
PL/SQL书写规则
SQL语句的大小写
- SQL语句中出现的所有表名、表别名、字段名、序列等数据库对象都应小写。
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT list.manifest_no,list.bill_no,STAT.list_stat
FROM
mft_list list,
list_stat STAT
WHERE
list.manifest_no = STAT.manifest_no
AND list.BILL_NO = STAT.list_no;ALTER SEQUENCE MANIFEST_NO CACHE 200;
SELECT manifest_no.nextval FROM DUAL;
- SQL 语句中出现的系统保留字、内置函数名、SQL保留字、绑定变量等都应大写。
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT
list.manifest_no,
list.list_no,
stat.list_stat
from
mft_list list,
list_stat stat
where
list.manifest_no = stat.manifest_no
AND list.bill_no = stat.list_no;INSERT INTO employees
(
employee_name,date,
employee_age
)
VALUES
(
employees_seq.nextval,
'John',
to_date (SYSDATE),
30
);
SQL语句的命名
- SQL语句中出现的变量参数应采用Camel语法命名,并反映变量的实际意义。
- SQL语句中的表别名应简短明了,宜反映表名的实际意义。
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT list.manifest_no,list.list_no,s.list_stat
FROM
mft_list list,
list_stat s
WHERE
list.manifest_no = s.manifest_no
AND list.bill_no = s.list_no;
SQL语句的缩进
- 如果一行有多列并超过80个字符,基于列对齐原则,应采用下行缩进。
- 缩进应为1个Tab或者4个字符。
- 同层次的SQL语句缩进应保持一致(纵向对齐)。
示例:
//存储过程SQL文书写格式的正确示例
SELECT
result.dealerCode,
ROUND (SUM (result.submitsubletamountdlr + result.submitpartsamountdlr
+ result.submitlaboramountdlr) / COUNT (*), 2) as avg,
DECODE (null, 'x', 'xx', 'CNY')
FROM(SELECT
twc.dealerCode,
twc.submitsubletamountdlr,
twc.submitpartsamountdlr,
twc.submitlaboramountdlr
FROM srv_twc_f twc
WHERE
(twc.origsubmittime >= TO_DATE ('Date Range(start)', 'yyyy/mm/dd')
AND twc.origsubmittime <= TO_DATE ('Date Range(end)', 'yyyy/mm/dd')
AND NVL (twc.deleteflag, '0') <> '1')
UNION ALL
SELECT
history.dealercode,
history.submitsubletamountdlr,
history.submitpartsamountdlr,
history.submitlaboramountdlr
FROM srv_twchistory_f history
WHERE
(history.origsubmittime >= TO_DATE ('Date Range(start)', 'yyyy/mm/dd')
AND history.origsubmittime <= TO_DATE ('Date Range(end)','yyyy/mm/dd')
AND NVL (history.deleteflag,'0') <> '1')) result
GROUP BY result.dealerCode
ORDER BY avg DESC;)
SQL语句的换行
- SELECT/FROM/WHERE/ORDER BY/GROUP BY等子句应独占一行。
- SELECT子句内容如果只有一项,应与 SELECT 同占一行。
- SELECT子句内容如果多于一项,每一项都应独占一行,并在对应 SELECT的基础上向右缩进2个Tab或者8个字符。
- FROM子句内容如果只有一项,应与 FROM同占一行。
- FROM子句内容如果多于一项,每一项都应独占一行,并在对应FROM的基础上向右缩进1个Tab或者4个字符。
- WHERE子句内容如果只有一项,应与 WHERE同占一行。
- WHERE子句的条件如果有多项,每一个条件应独占一行,并以AND开头,并在对应WHERE的基础上向右缩进1个Tab或者4个字符。
示例:
//SELECT语句书写的正确示例
SELECT bill_no,
FROM mft_list
WHERE manifest_no =‘000000000000000007’;SELECT
list.manifest_no,
list.list_no,
stat.list_stat
FROM
mft_list list,
list_stat stat
WHERE
list.manifest_no = stat.manifest_no
AND stat.stat != 2;
- (UPDATE)SET子句内容如果有一项,应与 SET同占一行。
- (UPDATE)SET子句内容如果有多项,每一项应独占一行,并在对应SET的基础上向右缩进1个Tab或者4个字符。
示例:
//SELECT语句书写的正确示例
UPDATE list_stat
SET
list_stat = '2',
parent = '0'
WHERE list_no = 'bill010';
- INSERT 子句左/右括号以及每个表字段应独占一行,其中括号无缩进,表字段在对应括号的基础上向右缩进1个Tab或者4个字符;
- VALUES子句左/右括号以及每一项的值应独占一行,其中括号无缩进,每一项的值在对应括号的基础上向右缩进1个Tab或者4个字符;。
示例:
//INSERT语句书写的正确示例
INSERT INTO list_stat
(
list_no,list_stat,parent, manifest_no,
div_flag
)
VALUES
(
'bill020',
'1',
'0','000000000000007807',
'0'
);
- SQL 文中不应出现空行。
SQL 书写应遵循以下空格规则
- SQL语句内的算术运算符、逻辑运算符(AND、OR、NOT)、 比较运算符(=、<=、>=、>、<、<>、BETWEEN AND)、IN、LIKE等运算符前后都应加一空格。
- SQL 语句中逗号后应加一空格。
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT list.manifest_no,list.list_no,stat.list_stat
FROM
mft_list list,
list_stat stat
WHERE
list.manifest_no = stat.manifest_no
AND list.bill_no= stat.list_no;SELECT
COUNT(DECODE(dept_no, '0020','X',NULL)) d0020_count, COUNT(DECODE(dept_no, '0030','X',NULL)) d0030_count, SUM(DECODE(dept_no, 0020, salary, NULL)) d0020_sal, SUM(DECODE(dept_no, 0030, salary, NULL)) d0030_sal
FROM emp
WHERE emp_name LIKE 'SMITH%';
不等于应统一使用符号“<>”
示例:
//红色字体表示书写错误;蓝色字体表示书写正确
SELECT list.manifest_no,list.list_no,stat.list_stat
FROM
mft_list list,
list_stat stat
WHERE
list.manifest_no = stat.manifest_no
AND list.bill_no = stat.list_no
AND stat.stat <> ‘2’
AND parent != ‘0’;
SQL 语句的注释
- 对较为复杂的 SQL 语句应注释,并说明算法和功能。
- 注释应单独成行,并放在语句前面。
- 应对不易理解的分支条件表达式加注释。
- 对重要的计算应说明其功能。
- 过长的函数实现,应将其语句按实现的功能分段加以概括性说明。
- 对常量及变量注释时,应注释被保存值的含义,宜包括合法取值的范围。
- 应可采用多行注释。(/* */ 方式)。
示例:
BEGIN.../* Compute a 15% bonus for top-rated employees. */IF rating > 90 THENbonus := salary * 0.15 /* bonus is based on salary */ELSEbonus := 0;END IF;.../* The following line computes the area of a circle using pi, which is the ratio between the circumference and diameter. */area := pi * radius**2;
END;
SQL字符串书写规则
SQL语句的大小写
- SQL语句中出现的所有表名、表别名、字段名、序列等数据库对象都应小写。
- SQL 语句中出现的系统保留字、内置函数名、SQL保留字、绑定变量等都应大写。
SQL语句的命名
- SQL语句中出现的变量参数应遵循各语言编码规范的要求。
- SQL语句中的表别名应简短明了,宜反映表名的实际意义。
SQL语句的缩进和换行
- 应遵循各语言的编码规范的要求。
- 单引号应与所属的 SQL子句位于同一行。
SQL书写应遵循以下空格规则。
- SQL语句内的算术运算符、逻辑运算符(AND、OR、NOT)、 比较运算符(=、<=、>=、>、<、<>、BETWEEN AND)、IN、LIKE等运算符前后都应加一空格。
- SQL语句中逗号后应加一空格。
不等于应统一使用符号“<>”。
拼装SQL语句时宜使用StringBulider,不宜使用String + String的方式。
SQL 语句的注释。
- 应遵循各语言编码规范的代码注释要求。
- 对较为复杂的 SQL语句应注释,并说明算法和功能。
- 对重要的计算应说明其功能。
- 对常量及变量注释时,应注释被保存值的含义,宜包括合法取值的范围。
示例:
//SQL拼串语句书写的正确示例
string tmpsql = "SELECT i_e_flag, i_e_date, ship_id FROM mft_head WHERE manifest_no =:MANIFEST_NO";
StringBuilder sqlStr = "SELECT manifest_no, i_e_flag, i_e_date, ship_id FROM mft_head "
+ "WHERE manifest_no = '"+ manifestNo + "'"
+ "AND ship_id = '"+ shipId + "'";
8 SQL 优化规则(仅适用于Oracle)
- SQL 语句中应避免使用不必要的 PL/SQL,JAVA,C。
- 应用逻辑简单时,应使用 SQL。
- 应用逻辑复杂时,使用 SQL 实现困难,可使用 PL/SQL,JAVA,C。
8.2 多表联查时驱动表的选择应遵循以下规则:
- 如果两张表联查,应选择记录少的表做为驱动表。
- 如果三张表联查,应选择交叉表(定义请参见3.2 )做为驱动表。
8.3 WHERE子句的连接顺序应遵循以下规则:
- 表之间的连接必须写在其他WHERE条件之前。
- 应按符合指定条件的记录范围由小到大进行排列,过滤掉最大数量记录的条件必须写在WHERE子句的末尾。
8.4 使用ROWID的WHERE子句效率最高。
8.5 WHERE子句中应避免常量比较,应使用主机变量。
8.6 应尽量避免在SQL语句中使用多表连接,特别是表之间的嵌套连接。
8.7 应尽量加少对数据库的访问次数。
- 应使用 DECODE函数避免重复扫描相同记录或者重复连接相同的表。
示例:
//一般情况下,效率较低。
SELECT COUNT (*), SUM (salary)
FROM emp
WHERE
dept_no = '0020'
AND emp_name LIKE 'SMITH%';SELECT
COUNT (*),
SUM (salary)
FROM emp
WHERE
dept_no = '0030'
AND emp_name LIKE 'SMITH%';//一般情况下,效率较高。
SELECT
COUNT(DECODE(dept_no, '0020', 'X', NULL)) d0020_count,
COUNT(DECODE(dept_no, '0030', 'X', NULL)) d0030_count, SUM(DECODE(dept_no, '0020', salary, NULL)) d0020_sal, SUM(DECODE(dept_no, '0030', salary, NULL)) d0030_sal
FROM emp
WHERE emp_name LIKE 'SMITH%';
其中:X表示任何字符或字符串。
类似的,DECODE 还可用于GROUP BY 和 ORDER BY 子句中。
- 整合简单的、无关联的数据库访问。
示例:
//3个简单的查询。
SELECT NAME
FROM EMP
WHERE EMP_NO = 1234;SELECT NAME
FROM DPT
WHERE DPT_NO = 10 ;SELECT NAME
FROM CAT
WHERE CAT_TYPE = ‘RD’;//上面的3个查询可以被合并成一个。
SELECT
E.NAME ,
D.NAME ,
C.NAME
FROM
CAT C ,
DPT D ,
EMP E,
DUAL X
WHERE
NVL(‘X’,X.DUMMY) = NVL(‘X’,E.ROWID(+))AND NVL(‘X’,X.DUMMY) = NVL(‘X’,D.ROWID(+))AND NVL(‘X’,X.DUMMY) = NVL(‘X’,C.ROWID(+))AND E.EMP_NO(+) = 1234AND D.DEPT_NO(+) = 10AND C.CAT_TYPE(+) =‘RD’;
8.8 使用 WHERE 子句替代 HAVING 子句在有些情况下会提高性能。具体根据实际测试而定。
示例:
//一般情况下,效率较低。
SELECT
region,
AVG (log_size)
FROM location
GROUP BY region
HAVING region <> 'SYDNEY'
AND region <> 'PERTH'//一般情况下,效率较高。
SELECT
region,
AVG (log_size)
FROM location
WHERE
region <> 'SYDNEY'
AND region <> 'PERTH'
GROUP BY region
8.9 使用EXIST代替IN可能会提高性能,但并非所有情况都适用。具体要依据测试结果而定。
示例:
//一般情况下,效率较低。
SELECT …
FROM emp
WHERE empno > 0
AND deptno IN ( SELECT deptnoFROM deptwhere loc = 'MELB')//一般情况下,效率较高。
SELECT …
FROM emp
WHERE empno > 0
AND EXISTS ( SELECT 'X'FROM deptWHERE dept.deptno = emp.deptnoAND loc = 'MELB')
8.10 使用NOT EXIST或外连接代替NOT IN可能会提高性能,但并非所有情况都适用。具体要依据测试结果而定。
示例:
//一般情况下,效率较低。
SELECT …
FROM emp
WHERE dept_no NOT IN ( SELECT dept_noFROM deptWHERE dept_cat = 'A');//一般情况下,效率较高。
SELECT …
FROM employee emp, department dept
WHERE emp.dept_no = dept.dept_no(+)
AND dept.dept_no IS NULL
AND dept.dept_cat(+) = 'A'//一般情况下最高效。
SELECT …
FROM employee emp
WHERE NOT EXISTS ( SELECT 'X'FROM department deptWHERE emp.dept_no = dept.dept_no)
8.11 一般情况下,使用表连接替代 EXIST 子句可提高性能。
示例:
//一般情况下,效率较低。
SELECT ename
FROM employee emp
WHERE EXISTS ( SELECT 'X'FROM department dept WHERE dept_no = emp.dept_noAND dept_cat = 'A');//一般情况下,效率较高。
SELECT ename
FROM department dept, employee emp
WHERE dept.dept_no = emp.dept_no
AND dept.dept_cat = 'A';
一般情况下,使用 EXIST 子句替代 DISTINCT 子句可提高性能。
示例:
//一般情况下,效率较低。
SELECT
DISTINCT dept.dept_no,
dept.dept_name
FROM
departement dept,
employee emp
WHERE dept.dept_no = emp.dept_no//一般情况下,效率较高。
SELECT
dept_no,
dept_name
FROM department dept
WHERE EXISTS ( SELECT 'X'FROM employee empWHERE emp.dept_no = dept.dept_no);
8.12 使用索引应遵循以下规则:
- 索引的建立应慎重考虑,不是越多越好。索引可以提高相应的select的效率,但同时也降低了INSERT及 UPDATE 的效率。
- 被查询列有大量重复数据时,如状态标志,可考虑建立位图索引。位图索引只对基于COST优化时有效。
- 查询列、排序列应与索引列次序保持一致。
- 应避免在WHERE子句中使用计算后的索引列。
- 应避免在 WHERE 子句索引列上使用函数或者表达式。如果确需使用,应建立对应的函数索引。
- 应避免在 WHERE 子句中对索引列使用 IS NULL,IS NOT NULL。
- 索引列的比较应避免使用<>,NOT。
- 应避免在 WHERE 子句中对索引列使用 LIKE ’%xxx%’,’%xxx’。
- 可在WHERE子句中对索引列使用LIKE ’xxx%’。
- 应避免对索引列值进行隐式/显式转换。
- 应尽量使用与索引列数据类型保持一致的比较值。
- 在 WHERE子句中应注意比较值与索引列数据类型的一致性,应显式转换比较值使其与索引列数据类型保持一致。
- 应避免比较同一张表中的列。
- IN、OR子句常会使用工作表,导致索引无效。如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应包含索引。
- 对于复合索引,WHERE子句中必须包含索引的第一列才一定能够使用到索引。
8.13 为保证SQL的执行效率,应避免使用UNION、 OR 子句,可考虑在应用中对结果集进行处理。
示例:
// WHERE语句中使用索引的优化。红色的表示没有成功使用索引,蓝色的表示成功使用索引。
SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE SUBSTR(account_name,1,7) = 'CAPITAL';SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE account_name LIKE 'CAPITAL%';SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE amount <> 0;SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE amount > 0;SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE TRUNC(trans_date) = TRUNC(SYSDATE);SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE trans_date BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + .99999;SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE acc_name || acc_type = 'AMEXA';SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE
acc_name = 'AMEX'
AND acc_type = 'A';SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE amount + 3000 < 5000;SELECT
acc_name,
trans_date,
amount
FROM transaction
WHERE amount < 5000 - 3000;
8.14 表扫描应遵循以下规则:
8.14.1 数据量小的表可使用全表扫描。
8.14.2 对于大表应通过索引加快数据查询。
8.14.3 如果查询返回数据量超过表总数据的20%时可使用全表扫描。
8.15 应尽量减少ORDER BY和GROUP BY等排序操作,
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- C语言编写一套学生成绩管理系统,可以计算学生平均分,各科平均分,按学生平均成绩排序,统计不合格学生信息。
直接上代码 #include <stdio.h> #include<stdlib.h> #define N 10 //假设有十个学生 #define M 4 void main() { int score[N][M];//定义一个二维数组,行表示学生号,列用来放三个科目第四列用来存放学生平均分 char choice=1; void input(int a[][M],int,int);//…...
2024/4/20 11:59:30 - webstorm安装后编写js代码时候不提示
安装完webstorm的时候不提示HTML的js代码、如输入doc只提示如下代码按住快捷键ctrl+Alt+s 将HTML部分选中即可看、、效果出来了...
2024/4/18 13:49:19 - 数据结构——栈(C语言实现)
描述用C语言实现数据结构中栈的操作实现过程#include <stdio.h> #include <stdlib.h> #include<string.h> #include<malloc.h> // 栈结构的定义 typedef struct _stack {int size; // 栈存储空间的尺寸int* base; // 栈基址int* sp; // 栈顶 } …...
2024/4/12 10:43:10 - MySQL如何跟踪sql语句
在项目开发中,难免会遇到在数据库服务器端跟踪sql执行语句的需求,通过跟踪sql执行语句,我们可以确定当上层应用在执行sql语句时,数据库端是否执行了sql语句,执行的sql语句是否有错误等等。总之,在数据库端跟踪sql执行语句极大的便利了数据库逻辑代码编写中的错误排查。 我…...
2024/4/5 0:35:40 - Vmware 虚拟机安装时虚拟网卡安装不了解决办法问题
大一的时候电脑上做实验安装过一次Vmware 然后没用了卸载了 现在做实验下回来发现虚拟机里的系统连不上本机和外网 打开虚拟机的虚拟网络编辑器,发现了问题所在,网络中少了一个桥接模式的VMnet0 !并且无法将网络更改为桥接模式! 看了看网络中心发现里面根本没有安装虚拟网…...
2024/4/18 18:13:28 - 学生成绩管理-C语言版之排序(各种排序)
//排序: /* 1、录入学生基本信息2、直接插入排序3、冒泡排序4、快速排序5、简单选择排序6、堆排序7、2-路归并排序8、输出学生信息 */ #include<stdio.h> #include<stdlib.h> typedef struct{char name[20];int num;int score;int degree; }Student,*student; int…...
2024/4/18 20:21:24 - 当JavaScript遇上UINT64
导语:写下这篇文章的缘由是因为在项目过程中,碰到了一个使用JavaScript处理 UINT64 类型数字的坑。与大部分现代编程语言(包括几乎所有的脚本语言)一样,JavaScript中的数字类型是基于 IEEE 754 标准来实现的,该标准通常也被称为“浮点数”。JavaScript使用的是“双精度”…...
2024/4/12 13:58:57 - C语言-数据结构-各种排序算法
main函数 #include "stdio.h" #include "stdlib.h" #include "malloc.h" #include "stdbool.h" #include "string.h" #include "QuickSort.h" #include "InsertionSort.h" #include "BubbleSort…...
2024/4/18 13:33:59 - 基于C语言的学生成绩管理系统
一 需求分析假设某班有不超过40人(具体人数在程序运行时由键盘录入)参加本学期的期末考试,考试科目为语文(CN),数学(MT),英语(EN),科学(SC)。编写一个学生成绩管理系统,实现对班级学生成绩的录入、修改、查找、删除、显示、排序、统计、保存等操作的管理。二 程…...
2024/4/18 8:40:00 - sql语句级联查询
问题:想了半天终于解决了这个问题,mysql中的级联查询非诚好使!SELECTt.*, x.*, w.* FROMfile_attribute_info t LEFT JOIN file_basic_info x ON t.file_extra_id = x.file_extra_id LEFT JOIN weixin_pub_user w ON t.weixin_user_id = w.user_id where //在动态sql语句中&l…...
2024/4/24 4:59:30 - 一个ip分配给两个适配器不能上网如何解决
前两天我也遇到了一个问题就是上网时候提示一个ip分配给两个适配器,如下图所示,2.这时首先进行诊断,让计算机自己发现问题,自己解决问题,这个比你去删掉一些东西强多了,之前看其他博客上说把那个隐藏的适配器删掉,结果自己把有线网的适配器给删掉了,造成很多麻烦,不过…...
2024/4/14 17:26:32 - Android webview调用js代码无效 webView.loadUrl("javascript:alert('hello')")
利用WebView调用js的alert方法一直无效的解决办法webView.loadUrl("javascript:alert(hello)")利用 webview调用js需要注意一下四点1) WebSettings设置支持javascript mWebView.getSettings().<span style="font-family: STHeiti;">setJavaScriptEn…...
2024/4/12 22:48:15 - SQL Server 根据spid查询执行的sql语句
sp_who2查询出的spid 根据spid来查询执行的SQL语句 select er.session_id,CAST(csql.text AS varchar(255)) AS CallingSQL from master.sys.dm_exec_requests er WITH (NOLOCK)CROSS APPLY MASTER.sys.fn_get_sql (er.sql_handle) csql where er.session_id =@spid...
2024/4/12 13:40:22 - Ubuntu18.04未发现WiFi适配器解决方案汇总
没有网线不能上网?有些小伙伴们可能不解?没有WiFi有没有网线怎么上网或者设置哇?拿起你的手机和数据线!这其实就是一个简单的有线上网方式: 打开 设置>更多连接方式>USB网络共享 你的Ubuntu皆可以有线上网了!!!首选方案如果你是从官网上下载的镜像,然后安装在U盘上使…...
2024/4/12 10:42:58 - 客服技术揭秘-大规模集群改造
u客服是一款非常优秀的开源客服系统,使用了很多先进的开源技术。缓存使用了hazelcast内存数据网格。网络方面使用了netty-socketio。无论是新手学习springboot的使用,还是老手学习websocket等技术,u客服的源码都值得一看。 但是u客服主要服务于中小客服,整体是一个单体系统…...
2024/4/12 10:43:10 - Kettle Job 使用 JavaScript 设置变量
Kettle 实际使用中,会经常使用到一些动态变量,比如文件名使用当前时间,或者一些带有规则的字符串等等。 而 Kettle 的常量步骤,可以设置一些固定的常量,灵活性有时候达不到实际需求。 通过研究测试,我们可以使用JS代码来设置变量,这样以来便可以随心所欲了。 很多时候我…...
2024/4/9 17:57:51 - libcstl:标准C语言通用数据结构和常用算法库
http://hao.jobbole.com/libcstl/libcstl:标准C语言通用数据结构和常用算法库本资源由 伯乐在线 - 骷髅 整理,您也想贡献一份力量?欢迎加入我们 libcstl是什么? libcstl是使用标准C语言编写的通用数据结构和常用算法库。 libcstl模仿STL的接口形式,包括序列容器、关联容器…...
2024/4/12 10:44:16 - Mysql中 查询慢的 Sql语句的记录查找
慢查询日志 slow_query_log,是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,这样可以对比较慢的sql可以进行优化。 1. 登陆我们的mysql数据库:2. 查看一下当前的慢查询是否开启,以及慢查询所规定的时间: show variables like slow_query_log;show v…...
2024/4/18 22:43:16 - C语言实现字符界面下的学生管理成绩系统
源码在此本系统学生信息由链表存储,账号由结构体数组存储,在程序开始时从文件中读入所有信息。如有信息变动即时保存到文件。文件为文本文件。再分为管理员端,教师端,学生端进行功能区分与权限管理。不足之处:仅仅区分了班级未区分专业 本系统不能直接注册账号,注册信息…...
2024/4/12 10:44:04 - js 系统教程-00-什么是 JavaScript 语言
目录导航Github 代码地址 ✨✨js 系统教程-00-什么是 JavaScript 语言js 系统教程-01-JavaScript 的历史,JavaScript 与 Java 的关系,JavaScript 与 ECMAScript 的关系,JavaScript的版本 js 系统教程-02-js 基本语法介绍 js 系统教程-03-js 数据类型概览,js typeofjs 系统教…...
2024/4/12 17:23:40
最新文章
- python绘制热点图
在Python中,我们通常使用seaborn或matplotlib库来绘制热点图(也称为热图,Heatmap)。下面是一个使用seaborn库来绘制热点图的简单示例: 首先,确保你已经安装了seaborn和matplotlib库。如果没有,…...
2024/4/26 12:13:25 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - C++ //练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。
C Primer(第5版) 练习 11.14 练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。 环境:Linux Ubuntu(云服务器&#x…...
2024/4/22 21:19:28 - STM32-GPIO
🤓🤓🤓 122.1 2.22.3 344.14.24.34.44.54.64.74.8 56788.18.299.19.2 STM32 第一个外设 1 对我们来说 和IO口没区别 ST公司非叫GPIO 2 2.1 第二个是超频了 F1 72M 这翻转就36 2.2 有cmos 和ttl两种数据手册里给出整个芯片最低电流为150ma 单…...
2024/4/22 10:11:05 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/25 11:51:20 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/25 18:39:24 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/25 18:38:39 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/25 18:39:23 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/25 18:39:22 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/25 18:39:22 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/25 18:39:20 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/25 16:48:44 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/25 13:39:44 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/25 18:39:16 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/25 0:00:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/25 4:19:21 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/25 18:39:12 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/25 2:10:52 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/25 18:39:00 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/25 13:19:01 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/25 18:38:58 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/25 18:38:57 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57