sql知识整理(2)

sql关键字大小写不敏感
注释用--

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

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

CRETE PROCEDURE <procedure name>
AS
 <stored procedure code>
如果存储过程已经存在,只是想修改其代码,可以使用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

原文地址:https://www.cnblogs.com/eversteins/p/2165508.html