SqlServer命名规范
命名过程中如有现存的缩写,则使用该缩写,如无,一律不得缩写,例:ISBN
数据库:用一个或三个以下英文单词组成,单词首字母大写,如:DepartmentManage;
表名:使用名词性质的单词全拼表示,各单词首字母大写, 使用复数形式,如:Books
如果该表用于表明另外两表中字段间的关系,用单数(即表明实体间的关系的表用单数命名),单词中间无“and of in”之类的介词
如:BookAuthor
1. 表中的字段一般使用名词性质的单词全拼表示,采用一个或三个以下英文单词组成,单词首字母大写,如:UserName;
2. 表主键名称为:表名+ID,如Document表的主键名为:DocumentID
3. 外键名称位:主表名+对应列名,如:DepartmentsID,说明如下:
在表Departments中,其字段有:ID, DepartmentName
在表UserInfo中,其字段有:UserId,UserName,DepartmentsID DepartmentsID为外键
4. 表中自动增长的列一律命名为:ID;
5. 如果字段为bool型,则使用"IsShow","IsValid","HasPassed","HasExamined","IgnoreCase"这种形式表示
6. 如果字段位DateTime型,切且默认值是取系统时间,一律命名位:CheckDate
7. Status为表中状态的列名,默认值为0,在表中删除操作将会改变Status的值而不真实删除该记录;
8. 存储过程命名:sp_表名_方法,如:sp_News_Add,sp_News_Update;
9. 视图命名:vi_表名,如:vi_News;
10. 表、存储过程、视图等对象的所有都为dbo,不要使用数据库用户名,这样会影响数据库用户的更改
相关文档:
import pymssql
#connect database
conn=pymssql.connect(host="192.168.1.28",user="boomink",password="boomink",
database="boomink")
cur=conn.cursor()
print '========================================'
cur.execute("exec Orders_GetTest1 @Valu ......
字符串函数:
● ASCII('a')=97---返回字母a对应的ASCII码
● CHAR('48')=0---返回48这个ASCII码对应的字符
● LCASE('ABcdE')="abced" 或 LOWER('ABcdE')="abced"(将给定字符串转为小写)
● UCASE('ABcdE')="ABCDE" 或 UPPER('ABcdE')="ABCDE"(将给定字符串转为大写)
● LTRIM(' fgf gh ')="fgf ......
/******************************
系统函数
******************************/
--convert 用来转变数据类型
--convert (data_type[(length)], expression [, style])
select convert(int,convert(varchar(5),12345)+'678')+1 --返回12345679
--cast 也是用来转换数据类型
--cast(expression as data_type[(l ......
1、Datediff:
1.1算出日期差:
1.access: datediff('d',fixdate,getdate())
2.sqlserver: datediff(day,fixdate,getdate())
ACCESS实例: select * from table where data=datediff('d',fixdate,getdate())
sqlserver实例: select * from ......
前阵遇到 本地sqlserver2005跨库查询
结果首先报错的是 无法 处理不同的排序规则
在修改排序规则的过程中,又出现了,“无法用排他锁锁定该数据库,以执行该操作。”这样的错误。
经查资料发现,修改数据库为单用户访问,可以锁定数据库。
alter database yourdatabase set single_user with rollback ......