随笔分类 - MSSQL扫盲
摘要:数据库用的比较杂,做GIS的是Oracle,平时做些小工具用的也只是SQLite或Access,ASP.NET的时候也会选择MYSQL。 慢慢的就快把MSSQL的一些东西忘掉了,所以决定把MSSQL的一些东西复习一遍。 前前后后花了几个小时来做这件事,从最简单的开始。把各种东西或概念都看了一遍,并捎带的写了一些SQL。 然后稍稍整理了一下,把一些非常简单的组成了当前的这个系列。 没有对各种概念做什么过多的解释,只是拿SQL来做个说明怎么用这些东西。SQL也非常简单,没有很长的,都容易看懂。 由于我自己也是没有其他示例数据库(NorthWind,AdventureWorks都是不错的示例数据..
阅读全文
摘要:异常View Code BEGIN TRY --SQL异常和VB很像,需要很完整的开闭 DECLARE @N INT--这里做一个最简单的异常,除0异常 SET @N=0 SET @N=7/@N PRINT @N --这个不会输出END TRYBEGIN CATCH SELECT ERROR_MESSAGE() AS MSG,@@ERROR CODEEND CATCH--现在做个很实际的异常处理--人员表,包含人名和出生日期,--因为基本上不会有100多岁的用户来使用这个系统--所以在注册的时候,要限制出厂日期的填写,加一个约束CREATE TABLE # (NA...
阅读全文
摘要:常量View Code --MSSQL支持多种常量类型,常量可以直接使用SELECT 'ABCDabc012!@#$',--字符串常量,''两个单引号 N'物华天宝,龙光射牛斗之墟;人杰地灵,徐孺下陈蕃之榻',--UNICODE常量 0,--或1,BIT型常量,为特殊的INT常量 0x0001111,--二进制常量 12212,--INT常量 '2012-12-22',--日期常量 12.222,--DECIMAL常量 101.2e5,--R...
阅读全文
摘要:为了能够演示,先建立了三张表,具体SQL如下:View Code CREATE TABLE POSTTB (ID INT IDENTITY(1,1) PRIMARY KEY,NAME NVARCHAR(20) NOT NULL)--职位对照表 INSERT INTO POSTTB VALUES('项目经理') INSERT INTO POSTTB VALUES('架构师') INSERT INTO POSTTB VALUES('开发人员') INSERT INTO POSTTB VALUES('美工') --插入数据CREATE
阅读全文
摘要:SELECT是个大话题,分成单独一篇基本查找View Code SELECT * FROM USERS--查询全部数据SELECT * FROM USERS WHERE USERNAME LIKE 'K%'--查询所有用户名以K打头用户的全部信息SELECT TOP 1 * FROM USERS WHERE USERNAME LIKE 'K%'--查询第一个用户名以K打头用户的全部信息SELECT USERNAME,[PASSWORD],AGE=DATEDIFF(YEAR,BIRTHDAY,GETDATE()) FROM USERS WHERE USERNAME
阅读全文
摘要:数据操作(还是上节的表,增加一个GENDER字段(n),表示性别,无默认值,SQL如下)View Code ALTER TABLE USERS ADD GENDER NCHAR(1)为了方便操作这里创建了一个临时表,并插入了一些数据,SQL在代码下面的代码中,有兴趣的话,可以看看View Code --为能演示,先写个临时表,这里的性别字段不同CREATE TABLE #(ID INT IDENTITY(1,1),USERNAME NVARCHAR(20),[PASSWORD] CHAR(32),GENDER BIT)DECLARE @INDEX INT ,@NAMELENGTH INT,@P
阅读全文
摘要:简单的数据定义(CREATE,ALTER,DROP,DECLARE)表,列,视图,索引,触发器 创建表,并附带各种约束,默认值View Code CREATE TABLE USERS ( ID INT IDENTITY(1,1) PRIMARY KEY,--自增主键 -- ID CHAR(32) PRIMARY KEY UNIQUE,--GUID主键 USERNAME NVARCHAR(20) NOT NULL UNIQUE,--UNIQUE...
阅读全文