Sql的基础知识(一)】的更多相关文章

SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database 数据库名称 查询:select name from master..sysdatabases 修改:alter database 数据库名称(在 sql server 中修改与数据库关联的文件和文件组.在数据库中添加或删除文件和文件组.更改数据库或其文件和文件组的属性) (3).管理表 选择数据库:use 数…
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html…
SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用了> MySQL-57 DataBase MS-SQLServer-2000 DataBase SQL的含义:结构化查询语言(Structured Query Language)简称SQL 作用:SQL(Structured Query Language,结构化查询语言)是一种用于操作数据库的语言. 结…
一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是Structured Query language(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言,是一门ANSI的标准计算机语言,用来操作和访问数据库系统. T-SQL和PL/SQL又是什么呢? T-SQL(Transact-SQL)是微软 SQL SERVER对SQL的扩展 PL-SQL…
(1)注入的分类 基于从服务器接收到的响应  ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL盲注 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 基于如何处理输入的SQL查询(数据类型) •基于字符串 •数字或整数为基础的 基于程度和顺序的注入(哪里发生了影响) ★一阶注射 ★二阶注射 一阶注射是指输入的注射语句对WEB直接产生了影响,出现了结果:二阶注入类似存储型XSS,是指输入提交的语句,无法直接对WEB应用程序产生影响,通过其它的辅助间接的对WEB产…
第六章:程序数据集散地:数据库 6.1:当今最常用的数据库 sql  server:是微软公司的产品 oracle:是甲骨文公司的产品 DB2:数据核心又称DB2通用服务器 Mysql:是一种开发源代码的关系型数据库管理系统 6.2:数据库的基本概念 6.2.1:实体和记录 实体:就是客观存在的事物 记录:每一行对应的实体,在数据库中,通常叫做记录 6.2.2:数据库和数据库表 数据表:不同类型组织在一起,形成了数据库表,也可以说表示实体的集合,用来存储数据. 数据库:并不是简单地存储这些实体的…
三.技巧 1.1=1,1=2 的使用,在 SQL 语句组合时用的较多 "where 1=1" 是表示选择全部 "where 1=2"全部不选, 如:if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere end else begin set @strSQL = 'select count(*) as Tota…
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份 sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat'--- 开始 备份 BACKUP DATABASE pubs TO testBack 4.说明:创…
一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. 二.数据库 下面是先看一下数据库分类图: 了解一些数据库的基本概念吧! 数据库是什么? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 数据结构是什么? 数据结构是指数据的组织形式或数据之间的联系. 数据结构的分类? 逻辑结构:从逻辑角度(即数据间联…
1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫user,user在sqlserver中属于关键字,那么查询的时候必须要这样: select * from [user] 否则就会报错. 同理,如果user属于字段名,也同样要加,如 select * from 表名 where [user]=1 2.SQL中的go,begin,end go 向 S…
五.表连接 当数据表中存在许多重复的冗余信息时,就要考虑将这些信息建在另一张新表中,在新表中为原表设置好外键,在进行数据查询的时候,就要使用到连接了,表连接就好像两根线,线的两端分别连接两张表的不同字段上,将两个字段进行关联.表连接分为内连接(inner join).交叉连接.自连接和外连接等. 1.内连接,语法  inner join table_name on condition ,table_name被关联的表名,condition关联条件. 例如:有两张表,T_Customer保存着客户…
1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 K06 数据结构 K07 最受欢迎的歌曲grade表如下:学号 课程代号B003 k03 B005 K02 B003 K05 B004 K04 B002 K02 B001 K01 B001 K06现用SQL语句(1)查询:select * from course where not exists(…
数据库的概念 结构化查询语言:structured query language 简称:SQL 数据库管理系统:database management system 简称:DBMS 数据库管理员:database  administration 简称:DBA SQL的语言类别 DDL 数据定义语言   create(创建)  drop (删除) alter(修改) DML  数据操作语言    CRUD(增删改查) DCL   数据控制语言   grant  back SQL server200…
存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行 存储过程的好处 A. 存储过程允许标准组件式编程        存储过程创建后可以在程序中被多次调用执行,而不必重新编写该存储过程的SQL语句.而且数据库专业人员可以随时对存储过程进行修改,但对应用程序源代码却毫无影响,从而极大的提高了程序的可移植性. B. 存储过程能够实现较快的执行速度        如果某一操作包含大量的T-SQL语句代码,分…
游标的概念 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标(Cursor): 是处理数据的一种方法. 它可以定位到结果集中的某一行,对数据进行读写. 也可以移动游标定位到你需要的行中进行数据操作. 是面向集合的数据库管理系统和面向行的程序设计之间的桥梁 游标的分类 SQL Server支持的API服务器游标分为4种:静态游标( STATIC )意味着,当游标被建立时,将会创建FOR后面的SELECT语句所包含数据集的副本存入tempdb数据库中,任何对于底层表内数据的更改不…
二.提升 1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access 可用) 法一:select * into b from a where 1<>1(仅用于 SQlServer) 法二:select top 0 * into b from a 2.说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access 可用) insert into b(a, b, c) select d,e,f from b; 3.说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access…
15. 存储过程可以调用自己么, 或者说可能有递归的存储过程么? SP nesting最多可以到多少层? 答: 可以的. 因为Transact-SQL 支持递归, 你可以编写可以调用自己的存储过程. 敌对可以被定义为一种解决问题的方法, 其中问题的解决是通过不断的对问题的子集调用自己而达成的. 当一个存储过程调用另一个存储过程或执行CLR的routine, type, 或aggregate时, 就会形成嵌套(nest). 你最多可以嵌套存储过程或托管代码的层级为32层.   16. 什么是log…
8. 一般什么时候使用update_statistics命令? 答:  这个命令基本上是在很多数据被处理过了之后才使用的. 如果大量的删除, 修改, 或这大量的数据插入已经发生了, 那么index就需要更新来让这些修改生效. UPDATE_STATISTICS命令会为table们更新index.   9. Having子句和Where子句有什么区别? 答: 它们都为group或aggregate指定了搜索条件. 但是区别是Having只能用在select命令中. Having典型地会被用在Gro…
1. SQL Server运行在什么端口上? 可以被修改么? 答: 1433端口. 可以修改的, 在SQL Server Configuration Manager的SQL Server Network Configuration的TCP/IP中. Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager) http://msdn.microsoft.com/en-us/librar…
事务的概念 事务:若干条T-SQL指令组成的一个操作数据库的最小执行单元,这个整体要么全部成功,要么全部失败.(并发控制) 事务的四个属性:原子性.一致性.隔离性.持久性.称为事务的ACID特性. 原子性(atomicity)一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做. 一致性(consistency)事务内的操作都不能违反数据库约束或规则,事务完成时的内部数据结构都必须是正确的. 隔离性(isolation)并发多个事务时,各个事务不干涉内部数据,处理的都是另外一…
索引的概念 在关系型数据库中,索引是对数据库表中一列或多列的值进行排序的一种结构. SQL SERVER中有索引的类型:按存储结构区分:“聚集索引(又称聚类索引,簇集索引)”,“分聚集索引(非聚类索引,非簇集索引)”按数据唯一性区分:“唯一索引”,“非唯一索引”按键列个数区分:“单列索引”,“多列索引” 聚集索引和非聚集索引的区别 聚集索引:是对磁盘上实际数据重新组织以按指定的一列或多列值排序.一个表只能建立一个聚集索引.(比拟新华字典按拼音查找)非聚集索引: sqlserver默认情况下建立的…
在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高.pl/sql让sql也能执行判断,循环等操作.主要记录一下pl/sql的基本语法和基本条件判断语句和循环语句供忘记了方便查阅. 1.pl/SQL的语法结构: declare //这部分用于声明变量 begin //这部分用于处理业务逻辑 exception //这部分用于处理例外也就是异常情况 end; 例如: declare uname varchar2(10); hello varchar2…
数据库设计简单地来讲,也就是设计表格的过程. 表格存储的数据是可以理解为一个二维表,由行和列组成. 原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般来讲,一个表格都是由多个字段来组成 ,每个字段也可以由不同的数据类型来组成. 常见的数据类型如下: 一.整数 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. i…
信息安全概论课堂作业 SQL注入之万能密码漏洞 第一道题是牵扯到了万能密码漏洞 用户名先输入个’ 返回了sql报错语句,猜测存在sql注入漏洞 使用万能密码测试 登陆成功 原理 假设登录框处的判断代码如下: 1 SELECT * FROM admin where name='".$_POST['name']."'and password='".$_POST['password']"'; 在账号框中输入admin'or 1=1 #,密码随便输,sql语句就变成了: 1…
一.引言 有时为了得到一张报表的完整数据,需要从两个或更多的表中获取结果,这时就用到了"连接查询". 二.连接查询 连接查询的定义: 数据库中的表通过键将彼此联系起来,从而获取这些表中的数据 连接查询的语法: ROM  join_table join_type join_table[ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接.join_type 指出连接类型.joi…
触发器的概念 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程 触发器的语法 create trigger tgr_name on table_name with encrypion –加密触发器 for [DELETE, INSERT, UPDATE] as Transact-SQL 触发器的分类 触发器可以分为两类:DML触发器和DDL触发器. DML触发器分为:    1. after触发器(之后触发)        a. insert触发器        b. update触…
1常用数据库聚合函数max()min()sum()avg()count() 2字符串处理函数len() 与 datalength()  区别:len是返回字符长度  datalength是返回字节长度LTrim()  RTrim() Trim ()isnull(@FilterStr,N'')如果时空将其替换 charindex(N';', @TmpList)返回字符串中表达式的起始位置而不是indexpaitndex('%ssd%',@temp) 与charindex作用基本类似 substri…
抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西:一般抽象类中只放置抽象方法,只规定了返回类型和参数:比如: 人 - 有吃饭,睡觉方法: 男人 - 继承人抽象类,必须实现吃饭,睡觉的方法主体: 女人 - 继承人抽象类,必须四线吃饭,睡觉方法的主体: 抽象类中可以有普通属性,通过子类来使用: 1.关键字:abstract2.抽象类可以包含抽象方法和普通方法3.abstract关键字可以定义方法为抽象方法,抽象方法可以没有函数体4.抽象类无法被实例化,抽象类主要做为一个基类,让别的类继承…
什么是数据库? 数据库是以电子方式从系统中存储和检索的大量数据集合. 存储在数据库中的结构化数据被处理.操纵.控制和更新以执行各种操作. 行业中使用的一些流行数据库是 Oracle.MySQL.PostgreSQL.MS SQL Server 和 SQLite. 什么是SQL? SQL 是一种标准的编程语言,用于操作关系数据库并执行各种操作,例如从关系数据库中插入.操作.更新和检索数据. 为什么需要 SQL? 以下任务需要 SQL 创建新的数据库.表和视图 在数据库中插入记录 更新数据库中的记录…