`
majm
  • 浏览: 35604 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL基础——mssql2005

    博客分类:
  • SQL
阅读更多

SQL中可用的函数

字符函数:

CHARINDEX

LEN                     返回字符串的长度

LOWER         将字符串转换为小写

UPPER          将字符串转换为大写

LTRIM           清除字符串左边的空格

RTRIM           清除字符串右边的空格

RIGHT           从字符串右边返回

REPLACE

STUFF

数值函数:

 

日期函数:

GETDATE             取得当前日期

DATEADD           

DATEDIFF    

DATENAME

DATEPART

转换函数:

 

通用函数:

-------------------------------------1数据设计--------------------------

1。什么是数据库设计

是将数据库中的数据对象及这些数据对象的之间的关系,进行规划和机构化的过程。

2.数据设计非常重要

良好的数据库设计应表现为一下几点

1)效率高                          节省空间

2)便于更近一步的扩展                   数据完整性(重)

3)使得应用程序开发变得更容易            方便数据应用系统开发。

 

1、需求分析阶段

包括:

 1收集信息                              

 2标识对象

 3标识每个对象需要存储的详细信息。

 4标识对象之间的关系。

 

2。概要设计阶段

3,详细设计阶段

 

实体:是指现实世界中有区分其他事务的特征或属性,并与其他实体有联系的对象。

实体关系:

一对一:x中的一个实体最多与y中的一个实体关联,y中的一个实体最多只可与x中的一个实体关联。

一对多:x中的一个实体可以与y中的任意数量的实体关联,y中的实体最多与x中的一个实体关联。

多对一:x中的一个实体最多与y中的一个实体关联,y中的一个实体可以与x中的任意数量的实体关联。

多对多:x中的一个实体可以和y中的任意数量的实体关联,反之亦然。

 

实体关系图

矩形表示实体集

椭圆形表示属性

菱形表示关系集

直线用来连接属性和实体集,也用来连接实体集和关系集。

 

规范设计

1.第一范式:每列的原子性:不可再拆分。

2.第二范式:确保表中的每列都和主键相关。

3.第三范式:每列都和主键列直接相关,而不是间接相关。

 

 

----------------------------------2数据库实现------------------------

主数据文件:db.mdf       (主要数据文件存放)

次要数据文件db.ndf     (可以分批将数据文件保存)

日志文件:db.ldf      (记录什么时间,谁登陆,有些什么样的操作内容。可同日志文件恢复*.mdf)

 

(如果能算出数据文件有多大,就直接设为多大)

(日志文件会比数据文件大50%)

(文件增长个率。是相对文件初始大小增长的)

 

if Exists用来查询结果集有没有,如果有返回真 (if)语句只作用与下一行。

 

创建登陆帐户

/*---添加windows登陆帐户---*/

EXEC sp_grantlogin 'windows域名\域帐户'

/*---添加sql登陆帐户---*/

EXEC sp_grantlogin '帐户名','密码'

创建数据库用户

/*----stuDB数据库中添加两个帐户----*/

EXEC sp_grantDBaccess '登陆帐户名','数据库用户'

 

--------------------------------------3 T-SQL编程

声明局部变量

DECLARE @name varchar(8)

DECLARE @age int

局部变量赋值

set @name=value

select @name=value

全局变量

@@ERROR

最后一个T-sql错误的错误号

@@IDENTITY

最后一次插入的标识值

@@LANGUAGE

当前使用语言的名称

@@MAX_CONNECTIONS

可以创建的同时连接的最大数目

@@ROWCOUNT

受上一个sql语句影响的行数

@@SERVERNAME

本地服务器的名称

@@SERVICENAME

该计算机的sql服务的名称

@@TIMETICKS

当前计算机没刻度的微妙数

@@TRANSCOUNT

当请连接打开的事务数

@@VERSION

sql server的版本信息

 

WHILE循环语句

while(条件)

       begin

              [BREAK]

       end

CASE多分支语句

case

       when 条件1 Then 结果1                  (bettween 60 and 69)between介于以知数中的未知数

       when 条件2 Then 结果2

       when 条件3 Then 结果3

end

 

-----------------------------4 高级查询----------------------------

 

-----------------------------5 事务,索引,视图--------------------

什么是事务:

事务是一种机制,一个操作序列,他包含了一组数据库操作命令

1.原子性:事务是完整的操作,事务中的各个元素是不可再分的。

2.一致性:当事务完成时,数据必须处于一致状态。

3.隔离性:事务是独立的,它不应该以任何方式依赖或影响其他事务。

4.持久性:对系统的影响是永久性的,即使修改是系统出现故障,也一直保存。

 

开始事务:BEGIN TRANSACTION

提交事务:COMMIT TRANSACTION

回滚事务:ROLLBACK TANSACTION

 

什么是索引:

索引好比字典中的目录页给出的限定的查询范围。

索引可提高数据库的查询性能(G以上的数据量才有感觉)

1.该列用于频繁搜索

2.该列用与对数据库的排序

3.数据量大

4.数据没有规则

主键索引:系统创建的

聚集索引:按一定的序列排列有规律的索引。非聚集索引:反之亦然。(自定义的)

填充因子:0-100值,表示每页4k中索引所占的半分比。(一般不写好)

                            唯一              聚集            非聚集                                              索引名

CREATE       [UNIQUE]     [CLUSTERED|NONCLISTRED]       INDEX        index_name

表名             列名

ON  table_name(writtenExam)

              填充因子

       with fillfactor=30

索引缺点:

1.占有磁盘空间。

视图

是一种虚拟表(一组封装的sql语句)

视图通常用来进行一下3种操作(一般我们针对5张表以上我们采用视图)

筛选表中的行。

防止未经许可的用户访问敏感数据。

将多个物理表抽象为一个逻辑数据表

优点:

       针对用户:对结果更容易理解,获得数据更容易。

       针对开发人员:限制数据检索更容易,维护应用程序更方便。

 

创建视图有两种方式

1.使用Microsoft SQL Server Management Studio创建视图

2.使用T-SQL语句创建

 

user sutDB

go

/*检查是否存在*/

if exists(select * from sysobjects where name='view_stuInfo_stumarks')

       drop view vies_stuinfo_stuMarks

go

/*创建视图*/

create view view_stuInfo_stuMarks

as

select 姓名=stuName,学号=stuInfo.stuNo,笔试成绩=writtenExam,=labExam,=(writtenExam+labExam)/2

from stuIfo left join stuMarks on StuInfo.stuNo=stuMarks.stuNo

go

/*--查看视图--*/

select * form view_sutInfo_stuMarks

 

-----------------------------6.存储过程--------------------

 

什么是存储过程

它是SQL语句和控制流语句的预编译集合,

存储过程包含逻辑控制语句和数据操作语句,包括接受参数,输出参数,返回单个或多个结果集及返回值。

存储过程在服务器上预编译,所以它比sql语句执行要快。

存储过程有以下优点:

1.       允许模块化设计。

2.       允许更快的执行。

3.       减少网络流量。

4.       可作为安全机制使用。

 

存储过程分为

系统存储过程:

用户自定义的存储过程:

 

 

 

 

 

 

 

 

常用的系统存储过程

Sp_databases

列出服务器上的所有数据库

Sp_helpdb

报告有关指令所有数据库信息

Sp_renamedb

更改数据库名称

Sp_tables

当前数据库可查询对象的列表

Sp_columns

查看某个表列的信息

Sp_help

查看摸个表的所有信息

Sp_helpconstraint

查看摸个表的约束

Sp_helpindex

查看某个表的索引

Sp_stored_procedures

列出当前环境下的所有存储过程

Sp_password

添加或修改登录账户的密码

Sp_helptext

查看指定对象的实际文本

 

Xp_cmdshell:  sqlserver2005中完成DOS命令下的一些操作。

分享到:
评论

相关推荐

    SQL注入——mssql注入

    可以在 SQL Server 中执行任何活动。 serveradmin  可以设置服务器范围的配置选项,关闭服务器。 setupadmin 可以管理链接服务器和启动过程,并执行某些系统存储过程(sp_...

    SQL注入之MSSQL注入MSSQL⼿⼯注⼊

    本文将重点讨论针对Microsoft SQL Server (MSSQL)的手工注入技术,并通过一个具体的示例——MSSQL-SQLi-Labs站点的第一关——来进行深入分析。 #### 二、实验环境与工具介绍 - **实验环境**: - 攻击者(宿主机)...

    MSSQL2005driver 驱动 sqljdbc1.2.jar

    《SQL Server 2005驱动程序:sqljdbc1.2.jar详解》 在数据库连接技术中,SQL Server 2005驱动程序扮演着至关重要的角色,它为Java应用程序提供了一个桥梁,使得应用程序能够与SQL Server数据库进行交互。本文将深入...

    msSQL2005连接池3个jar包

    总的来说,msSQL2005连接池涉及的这两个jar包是Java开发人员与SQL Server 2005数据库交互的核心工具,它们帮助实现了高效、稳定的数据库连接管理和操作。正确理解和使用这些jar包,能够有效地提升应用程序的性能和...

    精妙sql.doc————电子版_doc版

    从给定的信息来看,本文档主要涉及SQL语言的基础与进阶知识,涵盖了数据定义语言(DDL)、数据操纵语言(DML)以及数据控制语言(DCL)等方面的内容。接下来,我们将对这些知识点进行详细的解析。 ### 数据定义语言...

    sql注入初学——松风1

    2. 盲跟踪技术,通过比较不同数据库特有的SQL语法,如字符串连接方式、特定函数的使用,来区分MSSQL和MySQL。 3. 利用系统表,例如在MSSQL中查询`sysobjects`,在Access中查询`msysobjects`,根据结果来判断数据库...

    数据库应用技术——SQL Server 2000简明教程源代码

    《数据库应用技术——SQL Server 2000简明教程源代码》是一个针对初学者的教程,涵盖了数据库管理和开发的基础知识,特别强调了SQL Server 2000的应用。本教程通过PPT形式和配套的源代码,帮助学习者深入理解数据库...

    适用SQL Server 2016版本的数据库加载驱动包——sqljdbc42.jar

    <artifactId>mssql-jdbc <version>6.x.x.jre8</version> <!-- 根据实际版本号替换 --> ``` 确保版本号与`sqljdbc42.jar`的实际版本匹配,以便获得最佳的兼容性和性能。在完成上述配置后,你的Java应用就可以顺利...

    sqlserver驱动包 jdbc驱动 sqljdbc.jar和sqljdbc4.jar

    本文将详细介绍这两个重要的驱动文件——sqljdbc.jar和sqljdbc4.jar,以及如何利用它们来建立和管理数据库连接。 首先,sqljdbc.jar和sqljdbc4.jar都是由微软官方提供的JDBC驱动程序,适用于不同版本的Java运行环境...

    JDBC 连接SQL2005

    对于SQL Server 2005,我们需要使用微软提供的JDBC驱动——JDBC Driver for SQL Server(也称为MSSQL JDBC或Microsoft JDBC Driver)。 要连接到SQL Server 2005,首先需要在项目中引入JDBC驱动的jar文件,例如`...

    数据库技术及应用——SQL Server课件 2SQL Server 系统概述.ppt

    在"数据库技术及应用——SQL Server课件 2SQL Server 系统概述.ppt"中,我们聚焦于SQL Server的特点、安装、体系结构以及其关键组件。 1. **SQL Server 的特点** - **用户界面良好**:SQL Server 提供了直观的图形...

    asp+sql+server+程序代码系统——极品论坛

    【ASP+SQL+Server程序代码系统——极品论坛详解】 ASP(Active Server Pages)是一种服务器端脚本语言,常用于创建动态网页。它是由微软开发的,允许开发者在HTML代码中嵌入VBScript或JScript代码,以实现网页的...

    彻底清除sql server 2005的方法(教程+工具)

    3. **删除文件和文件夹**:SQL Server 2005的安装目录通常位于`C:\Program Files\Microsoft SQL Server`,查找与2005相关的子目录,如`MSSQL10_50.SQLEXPRESS`,并安全地删除它们。此外,还要检查`C:\Program Files ...

    MSSQL_JDBC所需的jar包(msbase,mssqlserver,msutil)

    本文将深入探讨MSSQL_JDBC所需的三个关键jar包——msbase.jar、mssqlserver.jar和msutil.jar,以及它们在建立Java与MSSQL连接中的作用。 首先,msbase.jar是基础库,包含了JDBC驱动程序的基础组件。这个jar包提供了...

    mssql数据库提权之——xp_cmdshell执行系统命令

    2、 必须可以以某种方式执行sql语句,例如:webshell或者是1433端口的连接。 提权基本思路过程与原理 1.MSSQL在Windows server类的操作系统上,默认具有system权限。System权限在Windows server2003中权限仅比管理员...

    Java 连接MS SQLServer数据库的实例

    在Java中,我们通常使用Microsoft提供的JDBC驱动程序——`com.microsoft.sqlserver.jdbc.SQLServerDriver`。确保你的项目已经包含了对应的JDBC驱动库,例如`mssql-jdbc.jar`。 以下是一个简单的Java代码示例,展示...

    Visio与SQL_Server_2005集成应用

    ### Visio与SQL Server 2005集成应用——绘制ER图详解 #### 一、引言 在软件开发及数据库设计过程中,实体关系图(Entity Relationship Diagram, ER图)是一种非常重要的工具,用于直观地展示数据库中的实体、属性...

    sqlserver 2005 2008 jdbc 驱动和帮助文档

    在SQL Server 2005和2008的环境下,微软提供了一个叫做SQL JDBC的驱动,版本号为3.0.1301.101的中文版,这正是压缩包中的主要内容——`sqljdbc_3.0.1301.101_chs.exe`。这个可执行文件包含了驱动程序的jar包,通常...

    ww.rar_CSharp 学生管理系统_CSharp 管理 sql_c# 开发 mssql_csharp sql_学生管理

    《C#学生管理系统开发详解——基于C#与MS SQL》 在信息技术日益发达的今天,学生管理系统已经成为教育机构日常管理的重要工具。本项目是“C#学生管理系统”的实践案例,旨在帮助开发者掌握如何使用C#语言与...

    Sqlserver2000,2005,Oracle10g,Mysql,DB2,AS400数据库驱动

    本文将深入探讨标题中提及的几个主流数据库系统——SQL Server 2000与2005、Oracle 10g、MySQL、DB2以及AS400,以及如何使用Java进行数据库驱动加载和建立连接。 1. SQL Server 2000/2005: Microsoft SQL Server...

Global site tag (gtag.js) - Google Analytics