sql数据库

PL/SQL简介

情到浓时终转凉″ 提交于 2020-02-21 19:52:30
PL/SQL是一种比较复杂的程序设计语言,用于各种环境下访问Oracle数据库. 1.1 什么是PL/SQL PL/SQL代表面向过程化的语言与SQL语言的结合.PL/SQL是在SQL语言中扩充了面向过程语言中使用的程序结构,如:变量和类型(既可以预定义也可以由用户定义),控制语句(如IF-THEN-ELSE)和循环,过程和函数,对象类型和方法. PL/SQL语言实现了将过程结构与OracleSQL的无缝集成,从而为用户提供了一种功能强大的结构化程序设计语言.同时集成了面向过程语言的过程结构和强大的数据库操作,为设计复杂的数据库应用提供了功能强大,健壮可靠的程序设计语言. 1.2 PL/SQL功能特性 1.2.1 块结构 PL/SQL被称为块结构化语言,PL/SQL块是PL/SQL语言的基本单位,其中可能包含程序代码,变量声明,错误处理程序,过程,函数,甚至包括其它的PL/SQL块. 块语句如下: DECLARE /* 声明部分 */ BEGIN /* 执行部分 */ EXCEPTION /* 异常处理部分 */ END; 声明部分为任何要定义的变量,游标定义以及过程和函数的声明. 执行部分为程序执行的主体,它由PL/SQL语句组成. 异常部分中的内容为程序运行期间发生错误或异常时触发的程序代码.通过将错误处理代码与程序的主体分离开可以使程序的结构变得清晰. 只有执行部分是必须的

T-SQL和PL/SQL 区别

若如初见. 提交于 2020-02-21 19:50:58
结构化查询语言 (Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 虽然SQL在1987年得到国际标准组织的支持下成为国际标准,不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。 T-SQL : 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。 PL/SQL : 也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。 来源: https://www.cnblogs.com/westMin/p/5446751.html

【PL/SQL编程】SQL与PL/SQL的区别

五迷三道 提交于 2020-02-21 19:48:14
SQL概念:   SQL是结构化查询语言,由数据定义语言、数据操纵语言、数据控制语言构成,它不 面向过程 ,即前一条语句与后一条语句无关。它没有流程控制,也不存在变量。 PL SQL概念: PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。 PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点, 所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中, 通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。 来源: https://www.cnblogs.com/zhuhaiying/p/8043304.html

Oracle数据库工具中文显示乱码问题的解决

帅比萌擦擦* 提交于 2020-02-21 18:21:46
Oracle客户端查询工具有时会有查处的结果为中文时不能正常显示,要么为乱码,要么为问号,plsql出现这种问题,以为是版本造成的,用了老的和最新的还是一样,换了另外的数据库工具也一样,但注意一点,数据其实是没有问题的,取出来显示是正常的中文,只是在工具里显示的是问号。其实问题的原理很简单,就是字符集设置不正确造成的,但如此简单的原理在解决的过程中却会遇到很多麻烦,下面结合我遇到和解决的过程,给朋友们一点思路,说不定你们跟我的问题一样,通过这篇文章不用再折腾了,很快搞定,感觉飘飘…… 首先讲讲字符集的知识,Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。 其中: Language 指定服务器消息的语言,territory 指定服务器的日期和数字格式,charset 指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK。从NLS

VS连接数据库的通用方法(SQL/MySql)

好久不见. 提交于 2020-02-21 18:16:39
在vs里面连接数据库的方法有很多,这里是通用的方法和基本操作 SQL 1 /// <summary> 2 /// 数据访问抽象基础类 3 /// Copyright (C) Maticsoft 4 /// </summary> 5 public abstract class DbHelperSQL 6 { 7 public static int DataType = 1; 8 //数据库连接字符串(web.config来配置),多数据库可使用DbHelperSQLP来实现. 9 public static string connectionString = ConfigurationManager.ConnectionStrings["ReadContext"].ConnectionString; 10 public DbHelperSQL() 11 { 12 if(DataType==2) 13 connectionString = ConfigurationManager.ConnectionStrings["ReadContextMySql"].ConnectionString; 14 } 15 16 #region 公用方法 17 /// <summary> 18 /// 判断是否存在某表的某个字段 19 /// </summary> 20 /// <param name=

SQL注入案例实验

巧了我就是萌 提交于 2020-02-21 17:41:23
文章目录 前言 第一章 目标 第二章联合查询 第一节必要条件 第二节 判断字段个数 第四步 判断显示位置 第五步 数据库版本 当前数据库名 第六步 数据库中的表 第七步 表中字段 第八步 字段内容 第二章 报错注入 第一节 group by 重复键冲突 第二节XPATH 报错 第三章 布尔盲注 第一节 原理 第二节数据库名长度 第三节数据库名 第四章 延时注入 第一节 原理 第二节获取数据库名长度 第三节 数据库名 免责声明 前言 搭建环境 : Window server2008虚拟机 — 安装phpstudy — 搭建自己写的网页 第一章 目标 通过SQL 注入漏洞获得后台管理员帐密并成功登录系统。 后台地址[ http://192.168.139.136/cms/admin/login.php ] (可以通过御剑扫描后台目录) 第一步 注入点存在 [ http://192.168.139.136/cms/show.php?id=33 ] 第二步 注入点的判断 对连接[ http://192.168.139.136/cms/show.php?id=33 是否是注入点进行判断。 1.变换id 参数 当我们变换id 参数(33+1|33-1)的时候,发现同一个页面,show.php 页面展现出不同的新闻内容。也就是说,数据库中的内容会回显到网页中来。 初步判定, id

ssm分页

旧时模样 提交于 2020-02-21 11:27:22
pom.xml配置文件中增加相关的插件。 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.7</version> </dependency> <!--配置分页插件--> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor" /> </plugins> 调用PageHelper插件的方法,它只会对下面的一行代码起作用。 第一个参数是页数,第二个参数是条数,简单来说就是每一页有几条数据。 1、这是一种物理分页(就是直接通过SQL进行在数据库中直接分页,得到的数据就是我们想要分页之后的数据),假设你使用的是mysql数据库,在执行查询语气的时候,它会自动的在sql语法后面加 limit 来源: https://www.cnblogs.com/weibanggang/p/10074232.html

Sql Server级联操作

霸气de小男生 提交于 2020-02-21 07:52:37
问题提出:现在我有三张表,学生Student,课程Course,成绩SC 1. 学生表Student,主键是学号Sno 2. 课程Course,主码是课程号Cno 3. 成绩SC,主码是Sno和Cno,Sno外键约束是Student的Sno,Cno的外键约束是Cno 现在我需要对Student或者Course进行修改或删除,希望在SC表中能保持修改或删除同步,这就需要到级联操作! 方法一、SQL Server 2008 中手动设置“级联” 这个方法建议在建表时不要加入任何设置外键的代码,如果主码是两者或以上的就不适合使用 1. 打开“数据库关系图”,若未创建,则创建 2. 选中SC表,右击选中“关系”,展开“INSERT和UPDATE规范”中选择级联 3. Student表 和 Course 表也要同样的设置 方法二、建表时使用级联代码添加 1 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'SC') 2 AND OBJECTPROPERTY(ID, 'IsUserTable') = 1) 3 DROP TABLE SC 4 Go 5 CREATE TABLE SC 6 ( Sno CHAR(10), 7 Cno CHAR(10), 8 Grade SMALLINT CHECK (Grade >= 0

oracle sqlplus配置

ⅰ亾dé卋堺 提交于 2020-02-21 05:17:07
slqplus显示错乱设置(格式化指令) SET LINESIZE 300 ; SET PAGESIZE 30 ; 打开sql文件编辑,执行sql文件 ed 文件名 @文件名 指令切换数据库用户 CONN system / manager 超级管理员登录: CONN sys / change_oninstall AS SYSDBA 以“模式名称.表名称”的方式访问表 SELECT * FROM scott . emp ; 调用本机系统命令 HOST * * * 来源: CSDN 作者: Stillsings 链接: https://blog.csdn.net/Listen_heart/article/details/104417632

SQL Server DBA日常检查常用SQL

风流意气都作罢 提交于 2020-02-21 04:41:31
1、数据库 --所有数据库的大小 exec sp_helpdb --所有数据库的状态 select name, user_access_desc, --用户访问模式 state_desc, --数据库状态 recovery_model_desc, --恢复模式 page_verify_option_desc, --页检测选项 log_reuse_wait_desc --日志重用等待 from sys.databases --某个数据库的大小:按页面计算空间,有性能影响,基本准确,有时不准确 use test go exec sp_spaceused go --可以@updateusage = 'true',会运行dbcc updateusage exec sp_spaceused @updateusage = 'true' --对某个数据库,显示目录视图中的页数和行数错误并更正 DBCC UPDATEUSAGE('test') 2、数据文件 复制代码 代码如下: --查看某个数据库中的所有文件及大小 sp_helpfile --查看所有文件所在数据库、路径、状态、大小 select db_name(database_id) dbname, type_desc, --数据还是日志 name, --文件的逻辑名称 physical_name, --文件的物理路径 state_desc,