约束、函数
一、约束
防止同一条数据完全重复:
一、主关键字约束:主键约束。
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) //转换格式