首页 > 代码库 > Sql Server 学习备忘录
Sql Server 学习备忘录
MsSql-
协议:
Shared Memory :效率最高,在内存中操作,是能用于本机,用.或(local)就等登录
Named Pipes :Winodows与Windows交流的协议,机器名交流,一般用不到
Tcp-Ip :通过IP地址访问服务器
数据类型更多详细信息请查阅http://www.cnblogs.com/zhangwei595806165/archive/2012/02/23/2364746.html
字段的数据类型:
Image 可用来存储图像,以二进制数据存储,但图片放进数据库效率很低。
以文本方式存储:
Char(1-8000) 定长字符数据,空格补齐,低于五个字符最好使用char
Varchar(1-8000)定长字符,字符少会空格补齐,性能高
Nchar(1-4000) 固定长度,两个字节存储一个字符,空间换时间
Nvarchar(1-8000)可变长字符数据,字符不会补齐,两个字节存储一个字符但搜索时效率会低
varchar(MAX)/nvarchar(MAX):存储大数据的文本,2005之前用text,text不能用模糊查询
精确数值存储:
bit :0/1/null
int :四字节存储一个数据
bigint:比int范围更大更广,八个字节存储一个数据。
日期类型
datetime: 1753.1.1~9999.12.31,表示一个完整的日期类型
datatime2 :最早甚至可以追溯到中华文明五千年。。。。大部分用datetime就足够
time:小时:分钟:秒 主要存储时间
t-sql建表:
create database 数据库名
on[(
name=‘‘,
size=.;
filename=‘绝对路径‘
)]
create table 表名(
字段名 类型 是否为可空(默认为空) 约束
)
---------------
约束:
主键约束:不能为空 primary key
外键约束:foreign key 外键的列与列最好要一样。 referecnces 关联的表(字段)
唯一约束:unique
自增:标识种子和标识增量中设置。
检查约束:check,检查可以在c#程序中检查,在数据库中设置检查会消耗效率。
默认约束:default(‘默认值‘)
非空约束:not null ,默认为null
-----------------------
sql的执行顺序--先找到表,分组,查询数据。
------------
CRUD:
增:insert into 表名(列名) values() // values中需要对应列名的顺序
删:delete from 表名 ...
改:update 表名 set 列名=值 ...
查:select 字段 from 表名 ...
聚合函数:
Sum :取和
Avg :求平均值
Count:计算次数
Min/Max:求最大或最小
排序: 前面top关键字,order by 列名 desc(降序)默认升序 asc
去重复: distinct select distinct 字段 from... 判断字段是否重复,对后面所有的列进行去重复
分组: group by 列名 select后面只能跟 group by 后面的字段或聚合函数
Sql Server 学习备忘录