一、SQL约束
主键约束 Primary Key
外键约束 Foreign Key
检查约束 Check 约束
默认约束 Default 约束
唯一约束 Unique 约束
二、SQL通配符
通配符 解释 示例
‘_’ 一个字符 A Like ‘C_’
% 任意长度的字符串 B Like ‘CO_%’
[] 括号中所指定范围内的一个字符,包括括号中的值 C Like ‘9WO[1-2]’
[^] 不在括号中所指定范围内的任意一个字符,包括括号中的值 D Like ‘9WO[^1-2]’
三、SQL T-SQL语法
1.And Or Not
当一个语句中使用了多个逻辑运算符时,首先求 Not 的值,然后求And的值,最后求Or的值。
示例IN 关键字用来限定范围,也可以用 Not In)
Not (付款方式=’信用卡’) OR (信用卡 IN (‘牡丹卡’,’龙卡’,’阳光卡’))
2. SQL表达式中 不等于用’<>’表式
3.一次插入多行数据
A.Insert [into] <表名>[列名] Select [列名]/* From <表名>
此语句将现有表中数据添加到已存在表中,两表结构必须相同。
B.Select [列名] into <新表名> From <表>
此语句为将查询出来的相应列的值插入到新表中,新表为执行此语句时创建。如果查询表的列中包含标识列,可以使用以下语句:
Select Identity(int,1,1) As <列名>,<列名>...Into <新表名> From <表名>
4.删除表中所有数据
A.Truncate Table <表名> 删除表中所有数据,但是表的结构,列,约束,索引等不会被改动,不能用于有外键约束引用的表,这种情况下,
需使用Delete语句。此语句类似于Delete From <表名> 但是比Delete执行速度快,占用资源少
四、SQL 查询
1.SQL查询语句:
Select <列名>/* From <表名> [Where <查询条件表达式>] [Order by <排序列名>[ASC或DESC]] 默认不写为 ASC
ASC 升序 DESC 降序
2.在查询中改变列名
示例1:Select Scode As 学员编号,SName As 学员姓名,SAddress As 地址 From Students
Select 姓名=FirstName+’.’+LastName From Employees
示例2: 使用计算,合并得到新列的命名
Select FirstName+’.’+LastName As 姓名 From Employees
3.查询是否空行用 Is Null 或 Is Not Null
4.在查询中使用常量列:Select SName 姓名,’河北新龙’ As 学校名称 ..
5.查询指定行数(查询返回限制的行数) 使用 Top 关键字
示例1:查询前5条记录
Select Top 5 [列名]/* From <表名> [Where <条件表达式>]
示例2:按百分比(20%)查询记录
Select Top 20 Percent [列名]/* From <表名> [Where <条件表达式>]
五、SQL 相关函数
1.字符串函数
CharIndex() 用来找一个指定的字符串在另一个字符串中的起始位置。
示例:Select CharIndex(‘ACCP’,’My AccpCourse’) 返回:4
Len() 返回传递给它的字符串的长度。
示例:Select Len(‘SQL’) 返回:3
Replace() 替换一个字符串的字符。
示例:Select Replace(‘莫乐可切.杨可’,’可’,’兰’) 返回:莫乐兰切.杨兰
2.日期函数
GetDate() 取得当前的系统时间。
DateAdd() 将指定的数值添加到指定的日期部分后的日期。
示例:Select DateAdd(mm,4,’01/01/99’) 返回:05/01/99
DateName() 日期中指定日期部分的字符串形式。
示例:Select DateName(dw,’01/01/2000’) 返回:星期六
DatePart 日期中指定部分的整数形式。
示例:Select DatePart(day,’01/15/2000’) 返回:15
3.系统函数
Convert() 用来转换数据类型。
示例:Select Convert(varchar(5),12345) 返回:’12345’
六、高级查询(一)
1.Between 用来查找那些介于两个已知值之间的未知值。
示例:Select * From Score Where Score Between 60 and 80
在此请注意Between 后面最大值和最小值用 And 分开且最小值写在前面
2.聚合函数
Sum() 返回表达式中所有数值的总和,只能用于数字类型的列。
示例:Select Sum(ytd_sales) From titles Where type=’Business’
注意这种查询只返回一个数,不能够直