SQLServer的入门:
使用免费的SQLServerExpress版本,Express版本的服务器名称:.\SQLExpress。
SQL中等于判断用单个=,而不是==。
SQL语句中字符串用单引号。
字段类型:
Varchar,nvarchar,char(n)的区别:
Var:Variable
Varchar:可变长度非 Unicode 数据
Nvarchar:可变长度Unicode 数据
Char:固定长度的非 Unicode 字符数据
基本的CRUD:
增加:
insert into student(name,age) values("dfd",22)
删除:
delete from student
Delete只是删除数据,表还在,和Drop Table不同。
修改:
update student set name='fdfd'
检索:
select count(*) from stu
SQL聚合函数:
MAX(最大值)、MIN(最小值)、AVG (平均值)、SUM (和)、COUNT(数量)
数据排序:
ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)。
通配符过滤:
通配符过滤关键字使用LIKE 。
单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符。
eg:以任意字符开头,剩余部分为“erry”
SELECT * FROM T_Employee WHERE FName LIKE '_erry'
多字符匹配的通配符为半角百分号“%”,它匹配任意次数(零或多个)出现的任意字符。 “k%”匹配以“k”开头、任意长度的字符串
eg:
select * from table1 where name like '%明%'
查询name字段中以“李”字开头:
select * from table1 where name like '李*'
查询name字段中含有数字的:
select * from table1 where name like '%[0-9]%'
查询name字段中含有小写字母的:
select * from table1 where name like '%[a-z]%'
查询name字段中不含有数字的:
select * from table1 where name like '%[!0-9]%'
空值处理:
数据库中,一个列如果没有指定值,那么值就为null,这个null和C#中的null,数据库中的null表示“不知道”,而不是表示没有。
因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”。
SQL中使用is null、is not null来进行空值判断。
多值匹配:
Delete T_Employee where FId in (21,22)
SELECT FAge,FNumber,FName FROM T_Employee WHERE FAge IN (23,25,28)
SELECT * FROM T_Employee WHERE FAGE>=23 AND FAGE <=27
SELECT * FROM T_Employee WHERE FAGE BETWEEN 23 AND 27