设为首页 加入收藏

TOP

数据库SQLServer2012笔记(二)――表的管理
2015-11-21 01:40:28 来源: 作者: 【 】 浏览:0
Tags:数据库 SQLServer2012 笔记 管理
1、表名和列的命名规则 1)必须字母、下划线开头 2)长度不能超过128个字符 3)不要使用sql server 保留字 4)只能使用字符:A~Z,a~z,0~9,$,#,_等。
2、常用编码 1)Unicode码:可表示英文字母和汉字,用两个字节i宝石一个字符(英文、汉字)。 2)非Unicode码:用一个字节表示一个英文字母,两个字节表示一个汉字。 3)big5 4)ISO-8859-1:欧。 5)GB2312:国标码(针对中国汉字)。 6)GBK:可以支持更多的汉字。
3、支持的数据类型 1)字符型
char 定长,最大8000字符(非Unicode编码)。eg: char(10):若字符不够,自动补全为“空格”。varchar 可变长度,最大8000字符(非Unicode编码)。eg: char(10):节省空间,按需分配。 注意:若字段长度确定,选择char,查询效率高。
ntext 可变长度,Unicode编码,最大长度为2^30-1。text 可变长度,非Unicode编码,最大长度2^31-1. 区别: ntext 多字节格式 存储 Unicode,即存储各种蚊子用。text 字节格式 存储 英文,也可存储中文,但有时显示乱码。 nchar 定长,最大4000字符。(Unicode编码 )nvarchar 变长,最大4000字符(Unicode编码 ) 特别说明: 一般,带有汉字的字段用nvarchar,全英文或符号选择varchar。因为nvarchar为unicode字符集,无论汉字或字母均占两个字节;varchar,字母占一个字节,汉字占两个字节。nvarchar处理汉字比varchar块。特殊字符用varchar。 2)数字型(范围) bit 0~1int 4个字节bigint 8个字节float 小数,不推荐使用numeric 小数:若存放小数,建议使用numeric 3)日期类型
datatime(表示日期):可表示到ms级。timestamp(时间戳) sql server提供专门的时间函数getdate()
4)图片 image保存图片,但用的比较少。一般用路径保存图片,在软件公司往往使用图片服务器和图床技术。
对图片有安全要求时,可以考虑放入 数据库,但图片不要太大。 5)视频
binary字段可存放,但往往将视频文件保存在文件服务器上,sql server中只保留文件路径,存取效率高。
3、添加数据 1)主键必须赋值,且不能为空。主键可修改,但不能和已有重复。 2)所有字段都插入: insert into xxx value(x,x,x) 3)插入部分字段,需要在表名后指端字段列表: insert into xxx (字段1,字段2,...) values (xx,xx,...) 4)修改一个字段: update 表名 set 字段名=‘新值’ where 字段名=‘值’ 5)修改多个字段 6)修改含有NULL值的语句: update 表名 set 字段名=‘新值’ where 字段名 is null
4、删除数据 1)删除全部数据: delete from 表名 2)删除指定数据: delete from 表名 where 字段名=‘值’ and/or 字段名=‘值’
5、表的查询 1)主键创建: create table 表名(字段名 类型 primary key) 2)外键创建: create table 表名(字段名 类型 foreign key references 外表名(外键名)) 注: 外键只能指向主键外键和主键的数据类型一致 3)查询所有列: select * from 表名 where 条件 4)查询指定列: select 字段1,字段2 from 表名 where 条件 5)取消重复行: select distinct 字段 from 表名 where 条件(distinct只能消除完全一样的行,保留一行) 6)使用算数表达式,使用列的别名,别名可加引号,也可不加,且不区分单双引号: select 表达式 [别名] from 表名 注:处理字段值为“NULL”的问题:isnull(字段名,0) 7)使用where语句 查找关于日期,条件加单引号。eg: select * from 表名 where hiredate>'1982-1-1'between的使用:select * from 表名 where sal between 2000 and 5000 注:between——>=and<=(包括等于) 8)使用like操作符(模糊查询) %:表示0~多个字符_:表示单个字符eg: select * from 表名 where 字段名 like 条件 9)在where条件中用in eg: select * from 表名 where 字段名 (值1,值2,值3) 10)使用is null操作符 11)使用逻辑操作符号 12)使用order by语句默认升序: 默认升序 select * from 表名 order by 字段名 (asc升序/desc降序)
多个标准排序: select * from 表名 order by 字段名 1 (asc升序/desc降序),字段名 2 (asc升序/desc降序) 13)使用列的别名排序 select * from 表名 order by 别名 14)分页查询
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JPQL 下一篇常用SQL语句收藏<一)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: