约束、函数

一、约束

防止同一条数据完全重复:
一、主关键字约束:主键约束。
1.能够唯一的区分每一行数据。——不许重
2.表中的数据按照主键字排序的。——有序
3.主键字不能为空——不为空
4.一个表只能有一个主键,但可以设置组合主键。
操作:在表的设计界面,在相应的列上,右击-"设为主键"/"删除主键":


二、唯一键约束。候选键。
1.不许重,可以为空。
2.可以有多个唯一键
3.唯一键不自动排序。

操作:在表的设计界面上,右击--“索引/键”在弹出窗口上,点击左下角“添加”,右侧属性列表,修改类型——唯一键,设置列


三、自增长列:标识列,Identity列
1.不能手动向里面填值。如果要写insert语句的话,则语句应当把这一列忽略
2.自增长列主要用于整型、长整型,Decimal类型。
3.不要随便把自增长列作为主键。
--
操作:在表的设计界面中,选中相应的列,在下面的属性面版——“标识规范”--选择是

防止有些该填的没有填:
一、非空约束
不能为NULL。
操作:在表的设计界面中“允许NULL值”中的复选框去掉。

二、默认值。
如果不给列赋值的话,会使用默认值填上。
操作:在表的设计界面,选择相应的列,在下面的属性面版中——默认值

防止乱填:
一、Check约束。
按照某种规则对数据进行检查。
操作:在表的设计界面中,右击相应的列,选择“CHECK约束”在弹出的对话框中,设置约束的名称和表达式。


二、外键约束。主表,从表。
主表是用来约束从表的。外键应当建在从表上。
使用主表的主键来约束从表外键。
从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据。

一旦建立起外键关系来,从表的外键不能乱填,反过主表中的主键列也不能乱删除乱改。

级联删除的设置——整理

操作:先建好主表,在从表的设计界面上,右击-“关系”,在弹出的对话框中选择“添加”,在右边属性列表中设“表和列的规范”

 

 

 二、函数

select * from News

//数学函数

select SQRT(2) //取平方根
select ABS(-234) //取绝对值

select floor( COUNT(*)/5.0 )from News //取小于这个小数的最大整数
select ceiling ( COUNT(*)/5.0 )from News //取大于这个小数的最小整数
select ROUND(4.523,0) //保留小数点后几位


//字符串函数

select LOWER('UserName') //转小写
select UPPER('UserName') //转大写

select LTRIM(' me') //压缩左边的空格
select RTRIM('me ') //压缩右边的空格

select LEFT(Title,5) from News //从左边截取几个字符
select RIGHT(Title,5) from News //从右边截取几个字符
select SUBSTRING(Title,3,5) from News //从哪个位置开始截,截几个

select REVERSE(Title) from News //翻转字符串
select CHARINDEX('中国',Title) from News //字符串出现的位置
select REPLACE(Title,'中国','美国') from News //替换字符串
select STUFF(Title,3,4,'china') from News //指定位置,指定个数,替换字符串

//其它函数
select RAND() //随机数生成函数 0-1之间
select LEN('china') //取字符串长度
select GETDATE() //获取当前时间
select YEAR(sbirthday) from Student //取日期时间的年份
select MONTH(sbirthday)from student //取日期时间的月份
select DAY(sbirthday) from student //取日期时间的天数

select DATEPART(ss,sbirthday)from student //取日期时间的部分yy年mm月dd日hh小时mi分钟ss秒
select CAST('123' as int) //转换格式

 

posted on 2015-05-31 08:52  rongzichuan  阅读(609)  评论(0编辑  收藏  举报