数据类型
1. char (n) 定长字符型;
2. int 整型 integer;
3. flaot 浮点型,占4个或8个字节;
4. date 日期型 datetime 表示日期时间型;
列级完整性约束
1. default <常量表达式> 默认约束;
2. NULL/NOt NULL 空值/ 非空值约束;
3. primary key 主码约束;
4. unique 单值约束;
5. references <父表名> (<主码>) 外码约束;
6. check (<逻辑表达式>) 检查约束;
表级完整型约束
1. primary key (<列名>,....) 主码约束;
2. unique (<列名>,....) 单值约束;
3. foreign key (<列名>,....) references <父表名> (<主码列名>,....) 外码约束;
4. check (<逻辑表达式>) 检查约束;
select中的函数
1. distinct 去掉重复的无组;
2. count ([all | distinct)] <列名> | *) /*若选项用all <列名>则统计出指定列的值的个数(不去除重复值),若选用distinct<列名>则统计出指定列的不同值勤的个数(去除重复值),若选用*则统计出指定列的不同. */
3. MAX (<列名>) /*求出对应的数值,字符或日期列的最大值; */
4. MIN (<列名>) /*求出对应的数值,字符或日期列的最小值; */
5. AVG (<列名>) /*求出对应的数值列的平均值 */
6. SUM (<列名>) /*求出对应的数值列的总和 */
整数数据类型(尽量多使用)
1.bigint; 可以存放从-2(63)到2(63)-1范围内的整型数据;
2.int; 也可以写做integer.可以存放-2(31)到2(31)-1范围内的整型数据;
3.smallint; 可以存放-2(15)到2(15)-1范围内的整型数据;
4.tinyint; 可以存储0-255范围内的整数;
精确数值类型
(可以精确地指定总位数但不含小数点,即所谓的精度precision(p);小数位的位数scale(S),可精确到38位)
decimal(dec)
numeric只有它的数据列才能带有IDENTTTY关键字
浮点数值类型
通常用来表示范围非常大的数据
1.float; -1.79*10(308)到1.79*10(308);
2.real; -3.40*10(308)到3.40*10(308);
货币类型
1.money; -2(63)到2(63)-1,可以精确到万分之一;
2.smallmoney; -2(31)到2(31)-1,可以精确到万分之一;
另外还有float和numeric等也可以存储货币数据.
字符型
1.char类型;长度固定;
2.varchar类型;长度可变;
3.text类型;最大长度为2(31)-1个字符,约2GB;
日期和时间类型
1.datetime类型; 取值范围从1753年1月1日至9999年12月31日,可以精确到千分之一秒,占8个字节的存储空间;
2.smalldatetime类型;取值范围从1900年1月1日至2079年3月3日,可以精确到分,占4个字节的存储空间;
二进制数据类型
1.binary和varbinary类型;最大长度为8000,可以达到8k字符.
1.image类型;只有数据字节超过8KB,才使用它,可达2GB.
位型
bit(位型);支持逻辑数据的类型,用来存储0或1的两种代码;
特殊数据类型
1.双字节数据类型,其实是一种Unicode数据类型,可以方便处理多国语言
nchar
nvarchar
ntext
2.时间戳数据类型
timestamp;是 SQL server根据事件的发生次序自动生成的一种二进制数据.还可以替代数据库加锁技术.
UCASE(c) 转换成大写;
LCASE(c) 转换成小写;
MID(c,start[,end]) 从文字范围内抽取所需要的字符集;
LEN(c) 返回字长;
INSTR(c,char) 返回某字符在文字范围内的位置,用数字来表示;
LEFT(c,number_of_char) 返回从左向右所请求的部分文字;
RIGHT(c,number_of_char) 返回从右向左所请求的部分文字;
ROUND(c,decimals) 将数字完全的十进制数字;
MOD(x,y) 返回运算后的余值;
NOW() 返回当前系统日期;
FORMAT(c,format) 改变显示方式;
DATEDIFF(d,date1,date2) 用来执行日期运算;
1. char (n) 定长字符型;
2. int 整型 integer;
3. flaot 浮点型,占4个或8个字节;
4. date 日期型 datetime 表示日期时间型;
列级完整性约束
1. default <常量表达式> 默认约束;
2. NULL/NOt NULL 空值/ 非空值约束;
3. primary key 主码约束;
4. unique 单值约束;
5. references <父表名> (<主码>) 外码约束;
6. check (<逻辑表达式>) 检查约束;
表级完整型约束
1. primary key (<列名>,....) 主码约束;
2. unique (<列名>,....) 单值约束;
3. foreign key (<列名>,....) references <父表名> (<主码列名>,....) 外码约束;
4. check (<逻辑表达式>) 检查约束;
select中的函数
1. distinct 去掉重复的无组;
2. count ([all | distinct)] <列名> | *) /*若选项用all <列名>则统计出指定列的值的个数(不去除重复值),若选用distinct<列名>则统计出指定列的不同值勤的个数(去除重复值),若选用*则统计出指定列的不同. */
3. MAX (<列名>) /*求出对应的数值,字符或日期列的最大值; */
4. MIN (<列名>) /*求出对应的数值,字符或日期列的最小值; */
5. AVG (<列名>) /*求出对应的数值列的平均值 */
6. SUM (<列名>) /*求出对应的数值列的总和 */
整数数据类型(尽量多使用)
1.bigint; 可以存放从-2(63)到2(63)-1范围内的整型数据;
2.int; 也可以写做integer.可以存放-2(31)到2(31)-1范围内的整型数据;
3.smallint; 可以存放-2(15)到2(15)-1范围内的整型数据;
4.tinyint; 可以存储0-255范围内的整数;
精确数值类型
(可以精确地指定总位数但不含小数点,即所谓的精度precision(p);小数位的位数scale(S),可精确到38位)
decimal(dec)
numeric只有它的数据列才能带有IDENTTTY关键字
浮点数值类型
通常用来表示范围非常大的数据
1.float; -1.79*10(308)到1.79*10(308);
2.real; -3.40*10(308)到3.40*10(308);
货币类型
1.money; -2(63)到2(63)-1,可以精确到万分之一;
2.smallmoney; -2(31)到2(31)-1,可以精确到万分之一;
另外还有float和numeric等也可以存储货币数据.
字符型
1.char类型;长度固定;
2.varchar类型;长度可变;
3.text类型;最大长度为2(31)-1个字符,约2GB;
日期和时间类型
1.datetime类型; 取值范围从1753年1月1日至9999年12月31日,可以精确到千分之一秒,占8个字节的存储空间;
2.smalldatetime类型;取值范围从1900年1月1日至2079年3月3日,可以精确到分,占4个字节的存储空间;
二进制数据类型
1.binary和varbinary类型;最大长度为8000,可以达到8k字符.
1.image类型;只有数据字节超过8KB,才使用它,可达2GB.
位型
bit(位型);支持逻辑数据的类型,用来存储0或1的两种代码;
特殊数据类型
1.双字节数据类型,其实是一种Unicode数据类型,可以方便处理多国语言
nchar
nvarchar
ntext
2.时间戳数据类型
timestamp;是 SQL server根据事件的发生次序自动生成的一种二进制数据.还可以替代数据库加锁技术.
UCASE(c) 转换成大写;
LCASE(c) 转换成小写;
MID(c,start[,end]) 从文字范围内抽取所需要的字符集;
LEN(c) 返回字长;
INSTR(c,char) 返回某字符在文字范围内的位置,用数字来表示;
LEFT(c,number_of_char) 返回从左向右所请求的部分文字;
RIGHT(c,number_of_char) 返回从右向左所请求的部分文字;
ROUND(c,decimals) 将数字完全的十进制数字;
MOD(x,y) 返回运算后的余值;
NOW() 返回当前系统日期;
FORMAT(c,format) 改变显示方式;
DATEDIFF(d,date1,date2) 用来执行日期运算;