SQL知识整理(2)

来源:互联网 发布:python os.environ 编辑:程序博客网 时间:2024/04/29 23:45
sql关键字大小写不敏感
注释用--

insert和delete中的into和from可以省略,加上了它会提高语句的可读性
update和delete要小心使用,使用一定要搭配where,如果没有where则会对该表所有记录全部修改


中文字符前面最好加上N,以防出现乱码 ,比如N‘中国’

CRETE PROCEDURE CatalogAddDepartment
(
@DepartmentName nvarchar(50),
@DepartmentDescription nvarchar(1000)
)
AS
insert into Department(Name,Description)
values(@DepartmentName,@DepartmentDescription )

如果存储过程已经存在,只是想修改其代码,可以使用ALTER PROCEDURE来代替CREATE PROCEDURE

字符串连接用+
sql与.net运算法用法的不同点:

比较运算符:=(c#中==),<>(!=)
字符串:'admin' ("admin")
日期型:#01/01/2005#
通配符:%,_(分别相当于windows的通配符*,?)
范围:between 2 and 20 (相当于2<=x<=20),in('Admin','bitfan')或order_num in (2007,2008)
逻辑运算符:And,Or,Not
聚集函数:Min,Max,Sum,Avg,Count,Count(*)

sql的几种联接
inner join (inner可省略)
left join (left outer join)
right join(right outer join)
full join(full outer join)
cross join笛卡尔乘积(若A表a条记录,B表b条记录,则共显示a*b条记录)

char(nchar)与varchar(nvarchar)的区别以及适用环境
  在绝大多情况下,varchar无论在性能(增、改、查)还是内存占用上都有优势;只有在列很少出现null值,并且不需要在列上建立过多的索引,数据检索的需求较少时才考虑使用char,varchar需要额外2个字节来反映存储数据的长度

sql用--来注释

SQL Server中生成GUID的函数newid()。C#中Guid id=Guid.NewGuid()

create table CallRecords
(
   id bigint primary key identity(1,1),
   caller_id nvarchar(50),
   telNum nvarchar(50),
   starttime datetime,
   endtime datetime
)
  

create table语法注意点:
  • 数据类型放在primary key identity(1,1)之前
  • 除了最后一行没有逗号,其他行都需要末尾加逗号
  • 约束之间没有逗号
  • check后要加(),默认值为default后加默认值如default getdate(),not null,null

CREATE PROCEDURE <procedure name>
[(
    <parameter name> <parameter type> [=<default value>] [INPUT | OUTPUT],
    ...
    ...
)]
AS
  <stored procedure body>

在默认情况下,所有参数都是输入参数

处理存储过程参数与处理其他SQL变量一样,它们的名字是以@开头的,如@DepartmentID,@CategoryID,@ProductName等。在存储过程里给输出参数赋值的语法如下所示:
SELECT @DepartmentID = 5