![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
文章平均质量分 68
一个懒鬼
不能在懒了,身边的所有人都在拼命。
展开
-
mariaDB(mysql数据库)-安装配置和使用
登陆mysql语法:mysql -u用户名 -p当前密码 -h服务器的ip【登陆当前服务器,不需要-h】记住:选项和后面的值是没有空格的mysqladmin是操作系统命令。mysql 进入子系统后。转载 2023-11-16 17:59:31 · 4153 阅读 · 0 评论 -
索引失效的情况及解决(超详细)
大家都知道,一条查询语句走了索引和没走索引的查询效率是非常大的,在我们建好了表,建好了索引后,但是一些不好的sql会导致我们的索引失效,下面介绍一下索引失效的几种情况数据准备新建一张学生表,并添加id为主键索引,name为普通索引,(name,age)为组合索引`name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '姓名',`age` int DEFAULT NULL COMMENT '年龄',转载 2023-01-29 13:57:13 · 2656 阅读 · 0 评论 -
数据库系统个人记录
数据库个人记录原创 2022-11-08 15:39:50 · 448 阅读 · 0 评论 -
你真的懂for update?(面试必备)
for update是一种行级锁,又叫排它锁,一旦用户对表某个行记录施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行,如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。是的,那就是我们本文的主角 For update,它可以帮你解决这个疑惑,从此走上发财致富的道理(笑…能够简单的说说使用的方式和原理?转载 2022-10-30 18:25:59 · 1073 阅读 · 0 评论 -
Navicate中构造存储过程基本步骤(插入数据)
2、运行Run命令之后,会发现虽然有执行结果,但是表中却没有插入数据,是因为还需要到存储过程中运行才会生效。2、同样保存一个存储过程,然后去运行它,点击Run之后会弹出一个窗口让你去输入参数值,输入一个5。想要执行循环插入数据的命令,需要为其创建一个存储过程,然后去执行存储过程。首先明确对应的数据库名,明确要插入数据的表名,明确表中字段的规则。4、插入之后表中数据如下,id为自增值,其他没赋值的就是空值。3、双击demo文件,点击Run,就会执行命令了。3、查看表格,指定数量的内容就被插入了。转载 2022-08-22 00:19:30 · 5671 阅读 · 0 评论 -
Mysql创建存储过程--批量插入数据
- 使用date_add()函数将时间进行转换为秒数,并赋值给dt参数。IN dt timestamp -- dt参数用来传入时间戳,开始插入的第一条数据的时间(格式为:'2020-10-24 14:31:44')-- 由于id是自动增长,不需要额外赋值,所以需要将剩余的其他字段全部列出进行一一对应赋值插入。1)检查库中函数下是否已存在同名的存储过程,如果存在,则需要执行删除存储过程的操作。-- 将number的值赋值为1,代表循环从1开始。-- 如果需要存储过程已存在,则可以先执行删除存储过程操作。转载 2022-08-22 00:07:01 · 5163 阅读 · 0 评论 -
SQL server分页的四种方法(算很全面了)
目录方法一:三重循环思路代码实现查询出的结果及时间方法二:利用max(主键)代码实现查询出的结果及时间方法三:利用row_number关键字SQL实现查询出的结果及时间第四种方法:offset /fetch next(2012版本及以上才有)代码实现结果及运行时间封装的存储过程总结 这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录。转载 2022-05-06 17:25:50 · 12534 阅读 · 0 评论 -
Oracle恢复被删除表&彻底删除表方式
概述:工作过程中,会出现误删表的情况,这时,可以通过flashback的方式恢复被删除的表。通过flashback table table_name to before drop;语句可以实现恢复表的功能。如果想要完全删除,在最后增加purge即可。drop table CELL_SIGN_PD_LIST_ZQ purge;接下来,我们通过实验的方式进行验证理解。实验有如下表:CELL_SIGN_PD_LIST_ZQ我们查看下该表占用的表空间和表的大小。-转载 2022-05-06 11:37:30 · 1219 阅读 · 0 评论 -
Oracle中rownum机制原理&用法详解
#1. 概述rownum是Oracle引入的虚列。在物理上这个虚列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等操作。#2. 特点关于rownum有以下主要特点:rownum不属于任何表。 rownum存在的前提,先有结果表。 rownum总是从1开始。 rownum一般只和<(<=)一起用。 使用rownum进行分页查询需要把rownum转化为实列,并针对rownum查询。 #2. 机制原理 rownum的用法看似奇怪,其实如果明白其机制原理就转载 2022-05-06 11:29:14 · 4847 阅读 · 1 评论 -
oracle connect by用法篇
1、基本语法select * from table [start with condition1] connect by [prior] id=parentid一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的区分出每一层的数据。 start with condition1 是用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推。 connect by [prior]id=paren.转载 2022-05-06 10:33:17 · 8572 阅读 · 0 评论 -
merge into 的用法
1. 语法merge into 的语法如下所示:MERGE INTO [target-table] T USING [source-table sql] S ON([conditional expression] and [...]...)WHEN MATCHEDTHEN [UPDATE sql]WHEN NOT MATCHEDTHEN [INSERT sql]判断源表 S 和目标表 T 是否满足 ON 中的条件,如果满足则用 S 表去更新 T 表,如果不满足,则将 S 表数据插入转载 2022-05-05 16:21:07 · 51366 阅读 · 0 评论 -
oracle创建存储过程循环插入多组数据
Oracle---number数据类型讲解create table Computers( comNo number(4) constraint pk_comp primary key, compModel varchar2(64) constraint unique_comp unique, buyTime date, price number(12,2) constraint ch_price check(price>0 and pri原创 2022-03-30 11:00:53 · 2790 阅读 · 0 评论 -
PLSQL Developer备份恢复oracle数据
使用PL sql提供的功能可以快速的备份恢复oracle数据。1 导出存储过程,触发器,序列等所有用户对象。(备份) 在PL/SQL Developer的菜单Tools(工具) => Export User Objects(导出用户对象)中出来一个对话框界面建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建。 在对象列表中ctrl+a 全选所有(如果你只导出部分,可单独选择)设置 输出文件地址,文件名。 点击导出完成。2 导出数据。(...转载 2022-01-26 12:17:30 · 3775 阅读 · 0 评论 -
Oracle删除数据的三种方式
Oracle删除数据的三种方法删除表(记录和结构)的语句delete——truncate——dropdrop命令drop table 表名;例如:删除学生表(student)drop table student;注意: 1、用drop删除表数据,不但会删除表中的数据,连结构也被删除了!truncate命令truncate table 表名;例如:删除学生表(student)truncate table student;注意: 1、......转载 2022-01-04 23:26:21 · 57023 阅读 · 2 评论 -
使用客户端等远程连接mysql数据库
1: 远程数据库(D1)数据:数据库用户:root,数据库密码:root,数据库ip 内网地址 192.168.100.91,数据库端口 3306本地主机:ip 192.168.127.1方式一:使用navicat客户端连接。2:首先在远程数据库D1上给能够接入的ip授权,可以通过远程主机的navicat 》user添加用户,也可以使用命令行添加 2.1使用navicatuser添加能够访问数据库ip地址和用户名密码等2.2使用命令行添加被授权用...转载 2021-11-27 14:48:42 · 3134 阅读 · 0 评论 -
修改数据库文件为自动扩展以达到表空间自动扩展的目的
表空间自动扩展1.数据文件自动扩展的好处1)不会出现因为没有剩余空间可以利用到数据无法写入2)尽量减少人为的维护3)可以用于重要级别不是很大的数据库中,如测试数据库等2.数据文件自动扩展的弊端1)如果任其扩大,在数据量不断变大的过程中会导致某个数据文件异常的大2)没有人管理的数据库是非常危险的3.查询当前数据库中所有数据文件是否为自动扩展sec@orcl> select tablespace_name,file_name,autoextensible from dba_data_f转载 2021-07-15 19:16:39 · 953 阅读 · 0 评论 -
SQL基础复习-数据控制sql语句
一、数据控制SQL语句数据控制SQL语句(DCL)是一类可对用户数据访问权进行控制的操作语句,可以控制特定用户或角色对数据表、视图、存储过程、触发器等数据对象的访问权限。主要有GRANT、REVOKE、DENY语句操作来实现。这个文档中有SQL Server的一些相关操作:https://docs.microsoft.com/zh-cn/sql/t-sql/tutorial-writing-transact-sql-statements?view=sql-server-ver15这几个文档都值得一转载 2021-06-16 10:04:53 · 3391 阅读 · 0 评论 -
SQL语言基础-视图
视图不真正存在数据,只是把定义存于数据字典,在对视图进行查询时,才按视图的定义从基本表中将数据查出。若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了码,则称这个视图为行列子集视图。在DBMS中,视图的作用如下:简化用户的操作使用户能从多种角度看待同一数据对重构数据库提供了一定程度的逻辑独立性能够对机密数据提供安全保护1、定义视图建立视图的命令格式如下:CREATE VIEW<视图名>[(<列名>[,<列名>...转载 2021-06-16 09:50:15 · 760 阅读 · 0 评论 -
SQL基础知识
目录1、创建数据库2、定义基本表3、修改基本表4、建立索引5、删除索引补充课外小知识:1、创建数据库用法2、定义创建基本表sql语言使用动词create定义基本表,其具体语法格式如下;Create Table <表名>(<列名><数据类型>[列级完整性约束条件]...[,<列名><数据类型>[列级完整性约束条件]][,<表级完整性约束条件>]);例如:建立一个学生表Studen..原创 2021-06-16 09:40:17 · 283 阅读 · 0 评论 -
SQL语言基础-数据更新
影响数据更新可以简单划分为插入,修改,删除。1、插入数据插入单个元组的命令格式为:INSERT INTO <表名>[<属性列1>[,<属性列2>...]]VALUES (<常量1>[,<常量2>...})将一个学生记录(95020,陈冬,男,IS,18)插入到Student表中insert into student values('95020','陈冬','男','IS',18);2、修改更新数据修改数据的命令格式.转载 2021-06-15 11:24:39 · 328 阅读 · 0 评论 -
SQL语言基础-数据查询
SQL语言基础-数据查询标签语言sqljoin栏目SQL原文http://blog.csdn.net/lwk2011/article/details/5634233在SQL语言中,只提供了一个动词SELECT用来进行数据查询操作,但这个动词的参数十分复杂,且能嵌套使用,其通用格式如下:SELECT [All|Distinct]<目标列表达式>[,<...转载 2020-06-16 11:16:28 · 1714 阅读 · 0 评论 -
sql四道易错面试题
第一道题SELECT store,max(qty) as maxqty FROM sales GROUP BY store ///获取最大的值 select store,min(qty) as maxsales from sales where qty<50 group by store //获取小于50值此方法:只会返回一个子查询返回的值不止一个,该变量是多值。declare @maxqty int select @maxqty=(SELECT store,max(qty) a...原创 2021-03-24 19:20:43 · 222 阅读 · 1 评论 -
sql实现递归累加的三种方法
有如下表:Tdate number 2019-01-01 20 2019-01-02 15 2019-01-03 10 2019-01-04 21 2019-01-05 88 2019-01-06 60 实现number按时间累加输出:date number 2019-01-01 20 2019-01-02 35 2019-01-03 45 2019-01-04 66 2019转载 2021-03-24 17:53:51 · 5800 阅读 · 0 评论 -
Oracle 、SqlServer 根据日期逐日、逐月递增累加、逐行累加
动态追加日累计、月累计:测试表tb_test_over 中有SCRQ、RSJ两列,存储每日的日数据;select * from tb_test_over ;1使用OVER函数动态追加列,根据SCRQ对RSJ累计求和;select scrq,rsj,sum(rsj) over(order by scrq) as nsj from tb_test_over order by scrq;1 2 3使用OVER结合PARTITION BY对每月进行累加; se...转载 2021-03-24 17:52:33 · 2684 阅读 · 0 评论 -
SQL级联删除
SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表(转载)create table a(id varchar(20) primary key,password varchar(20) not null)create table b(id int identity(1,1) primary key,name varchar(50) not null,userId varchar(20),foreign key (userId) references a(id)转载 2021-01-22 11:08:28 · 12003 阅读 · 0 评论