SQL Server 笔记
第一章数据库的基本操作: 1>创建数据库: create database my_db(逻辑名称) on primary ( name='my_db.mdf',(物理名称) filename='F:\exercise\my_db.mdf', size=5mb, maxsize=50mb, filegrowth=10% ) 2> 改变数据库的容量: alter database my_db modify file ( name='my_db', size=15mb ) 3>收缩数据库: Dbcc shrinkdatabase(‘my_db’,1) 1为收缩比 4>更改数据库名称: exec sp_renamedb 'my_db' ,'my_db1' 5>删除数据库: drop database my_db1 第二章表的基本操作: 1>创建表: Create table my_ta ( 学号 int primary key identity, 名称 char(6) not null, 专业方向 varchar(10) not null, 系部代码 char(2) not null, 备注 varchar(50) ) 2>用存储过程查看表的信息: Exec sp_help my_ta 3>修改表的列名: exec sp_rename 'my_ta.[my_ta.其他]','其他' 4>增加表的列: alter table my_ta add home varchar(100) not null 5>修改表的数据类型: alter table my_ta alter column home varchar(80) 6>删除表的列: alter table my_ta drop column home 7>删除表中的所有数据: Truncate table my_ta 8>删除表: Drop table my_ta 9>将一个表中数据查出插入到另外一个表中: select * into t11 from t1 第三章数据的完整性: 1>主键和外键,创建主键和外键: alter table t1 add constraint pk primary key clustered(name) alter table t2 add constraint fk foreign key(name) references t1(name) 2>创建唯一约束: alter table t1 add constraint uq unique nonclustered (name) 3>创建check约束: alter table t1 add constraint ch check(age>10 and age<100) 4>默认约束 : alter table t1 add constraint de default '这是默认可以不填' for 其他 5>删除约束: Alter table t1 drop constraint de 6>创建规则: 创建规则: create rule ru as @a>300 and @a<600 绑定规则: execute sp_bindrule 'ru','t1.age' 解除规则绑定 : execute sp_unbindrule 't1.age' 删除规则: Drop rule ru 7>创建默认: Create default def As ‘男’ 绑定默认: execute sp_bindefault 'def' ,'t1.gendar' 解除默认的绑定 Execute sp_unbindefault 'def' ,'t1.gendar' 删除绑定: drop default def 必须先解除绑定才能删除 第四章 索引 1>创建索引 --create [unique][clustered][nonclustered] index 索引名 --on 表名(列名) create clustered index ind on t1(name) 2>查看索引信息: exec sp_helpindex t1 3>删除索引 drop index t1.ind 第五章 视图 1>创建视图 create view v1 with[encryption][schemabinding]可选 as select 学生.学号,学生.姓名,班级.班级名称,专业.专业名称,系部.系部名称 from 学生 join 班级 on 学生.班级代码=班级.班级代码 join 专业 on 班级.专业代码=专业.专业代码 join 系部 on 专业.系部代码=系部.系部代码 create view v1 with encryption 加密视图 as select name ,age t1 create view v1 with schemabinding 架构绑定 可选 as select name ,age from dbo.t1 2>可以在视图上进行增删改操作 3>查看视图的信息: Exec sp_helptext 视图名 4>删除视图 Drop view 视图名 第五章 存储过程 1>创建存储过程 create proc p as select 学生.学号,学生.姓名,班级.班级名称,专业.专业名称,系部.系部名称 from 学生 join 班级 on 学生.班级代码=班级.班级代码 join 专业 on 班级.专业代码=专业.专业代码 join 系部 on 专业.系部代码=系部.系部代码 create proc p3 @sex varchar(10), @id varchar(10) as select 学生.学号,学生.姓名,班级.班级名称,专业.专业名称,系部.系部名称 from 学生 join 班级 on 学生.班级代码=班级.班级代码 and 学生.性别=@sex join 专业 on 班级.专业代码=专业.专业代码 join 系部 on 专业.系部代码=系部.系部代码 and 系部.系部代码=@id 2>执行存储过程 Execute p execute p3 '男','' 3>变量 create proc p4 @name varchar(10), @getnum varchar(10) output as select @getnum=学号 from 学生 where 姓名=@name execute p4 '刘德华' ,''在这里会输出参数 4>查看存储过程的信息 execute sp_helptext p4 execute sp_depends p4 execute sp_help p4 5>删除存储过程 Drop procedure p4 第六章触发器 1>创建触发器 create trigger myinsert on 产品 for insert as declare @a char(10) select @a=产品编号 from inserted insert into 产品销售 values(@a,0) insert into 产品 values(007,'萝卜') 当我们执行在产品中插入数据的时候,那会就会级联得对产品销售中插入数据,这是同时的。 create trigger tr1 on 产品 for delete as declare @产品编号 varchar(10) select @产品编号=产品编号 from deleted delete from 产品销售 where 产品编号=@产品编号 2>查看触发器 execute sp_helptrigger 产品 3>删除触发器 delete from 产品 where 产品编号='' 第七章函数 1> 1、聚合函数 AVG ()--平均值 COUNT ()--返回行中项目的数量 MAX ()--最大值 MIN ()--最小值 SUM ()--求和 2、数学函数 ABS (x)--返回绝对值 CEILING(x)--返回大于或等于所给数字的最小整数 PI ()--pi值 POWER (x,y)--返回x的y次方 RAND ()--返回~1之间的随机数 3、 配置函数 SELECT @@VERSION --获取当前数据库版本 SELECT @@LANGUAGE --当前语言 4、时间函数 select getdate() --当前时间 select day(getdate()) --取出天 select month(getdate()) --取出月 select year(getdate()) --取出年 select dateadd(d,3,getdate()) as wawa_dateadd --加三天, ‘d’表示天,‘m’表示月,‘yy’表示年 select datename(d,'2010-07-15') --取出时间的某一部分 Year Yy yyyy 年 1753 ~ 9999 Quarter Qq q 季 1 ~ 4 Month Mm m 月1 ~ 12 Day of year Dy y 一年的日数,一年中的第几日 1-366 Day Dd d 日,1-31 Weekday Dw w 一周的日数,一周中的第几日 1-7 Week Wk ww 周,一年中的第几周 0 ~ 51 Hour Hh h 时0 ~ 23 Minute Mi n 分钟0 ~ 59 Second Ss s 秒 0 ~ 59 Millisecond Ms - 毫秒 0 ~ 999 5、字符串函数 Select LEN('str1111')--返回字符串的字符个数 Select lower('ABC'),lower('Abc'),upper('Abc'),upper('abc') --转换大小写 select ltrim(' 左边没有空格') --去空格 select rtrim('右边没有空格 ') --去空格 select ltrim(rtrim(' 左右都没有空格 ')) --去空格 select left('sql server',3),right('sql server',6) --取左或者取右 Select replace('原字符串','原','这是一个')--字符串替换 Select replicate('go',5)--指定的次数重复字符 select reverse('这是字符串') --将定字符串返序排列 select substring('这是一个原字符串',2,3)--指定截取指字字符串 6、排名函数 rank()返回结果集的分区内每行的排名 rank() over (order by 列名) select 姓名,rank() over(order by(高考分数) desc) 名次,高考分数 from 学生 -------------------------------------------------------------------------------------------- SELECT TOP(2) majoy,COUNT(*) AS 人数 FROM stuclass GROUP BY majoy ORDER BY 人数 ASC
SQL Server 笔记的更多相关文章
- SQL Server笔记
SQL Server所能读取的最小单位是页,每个页8KB,8个物理上连续的页就是一个区,这样数据库中每MB就包含有16个区 堆是没有聚集索引的表.如果表格上没有聚集索引,数据行将不按任何特殊顺序存储, ...
- SQL Server笔记-语法
1.USE <DatabaseName> //选择数据库 例:USE [master] //master是系统默认数据库 2.字段或表名与保留字或关键字重名时需要加. 3.COMPATIB ...
- SQL Server笔记——sql语句创建数据库
MS SQLServer的每个数据库包含: 1个主数据文件(.mdf)必须. 1个事务日志文件(.ldf)必须. 可以包含: 任意多个次要数据文件(.ndf) 多个事务日志文件 CREATE DATA ...
- sql server 笔记(数据类型/新建、修改、删除数据表/)
1.数据类型: Character 字符串 / Unicode 字符串 / Binary 类型 / Number 类型 / Date 类型 / 其他数据类型 详解:http://www.w3sc ...
- sql server 笔记1--case、WAITFOR、TRY CATCH
一.case 转自:http://blog.csdn.net/add8849/article/details/576424 深入使用:http://blog.csdn.net/akuoma/artic ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- SQL Server 2012 数据库笔记
慕课网 首页 实战 路径 猿问 手记 Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...
- SQL SERVER 数据库表同步复制 笔记
SQL SERVER 数据库表同步复制 笔记 同步复制可运行在不同版本的SQL Server服务之间 环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅) 1.在发布 ...
- .NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)
原文:.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数 ...
随机推荐
- web-day2
第2章WEB02-CSS&JS篇 今日任务 使用CSS完成网站首页的美化 使用CSS完成网站注册页面的美化 使用JS完成简单的数据校验 使用JS完成图片轮播效果 教学导航 教学目标 了解CSS ...
- noip第4课作业
1. 计算邮资 [问题描述] 根据邮件的重量和用户是否选择加急计算邮费.计算规则:重量在1000克以内 (包含1000克),基本费8元.超过1000克的部分,每500克加收超重费4元,不足500 ...
- 二分搜素——(lower_bound and upper_bound)
因为每个人二分的风格不同,所以在学习二分的时候总是被他们的风格搞晕.有的人二分风格是左闭右开也就是[L,R),有的人是左开右闭的(L,R]. 二分的最基本条件是,二分的序列需要有单调性. 下面介绍的时 ...
- SpringMVC随笔之——@responsebody【引用snowolf博文】
首先说RESTful 风格是什么 :(RESTful 风格:把请求参数变成请求路径的一种风格.) OK,一句话总结完毕 @responsebody表示该方法的返回结果直接写入HTTP response ...
- linux命令 find的应用
1.列出当前目录及子目录下所有文件和文件夹 2.在 /home目录下查找以 “.txt”结尾的文件名 3.在当前目录下查找所有以“.txt”结尾的文件 4基于目录深度搜索(向下最大深度限制为3) 5. ...
- [javascript]jsonp-function 代码段
(function($1454395832823,arr_infoList /**/) { $1454395832823.push(' '); for(var i in arr_infoList) { ...
- Android-Recyclerview-使用分割线
由于Recyclerview是在 android.support.v7.widget.包 RecyclerView,所以需要导Recycler库: 导Recycler库: 选择项目,右键--> ...
- 识别同音字词pypinyin, 分词 jieba
一.pypinyin 在处理语音输入指令时, 比如 请给圆圆发消息,那么转化为文字识别时, 无法确定转换的是圆圆还是园园或是源源, 为了解决这个问题, 就把指令转换为拼音来处理,这样就可以处理同音字了 ...
- Flask系列09--Flask中WTForms插件,及自定义验证器
一.概述 django中的forms组件非常的方便,在flask中有WTForms的组件实现的也是类似的功能, 安装这个插件 二.简单使用 文档地址https://wtforms.readthedoc ...
- 【062有新题】OCP 12c 062出现大量之前没有的新考题-16
choose one Which users are created and can be used for database and host management of your DBaaS da ...