黑马程序员笔记——数据库sql杂碎
2012-08-04 16:29
225 查看
Windows Phone 7手机开发、.Net培训、期待与您交流!
数据sql杂碎
一个项目也许可以有多个数据库,把数据库按业务分类的话,就可以实现简单的分布式存储
primarykey 主键 数据行的唯一标示
主键有两种选用策略:业务主键和逻辑主键。业务主键是使用有业务意义的字段做主键,如身份证,银行账户等;这种就需要手工增加;逻辑主键是使用没有任何业务意义的字段做主键,而且他是自动生成的 。业务主键很难保证不会变化,所以推荐使用逻辑主键
每为表插入一条数据的,数据库会首先在数据库的系统表中增加一个记录。所以在删除一条数据后,主键id还是会从删除id+1开始.而不是从删除id开始。
Foreignkey 外键 记录表与表的关系。
char 类型会用空格将数据补满到定义的字符长度
varchar 则会是实际的长度,不会补满。一个字符占用一个字节
nvarchar 是将一个字符占用两个字节,存储除了英文和数字外的复杂字体。
不使用列名的插入时必须对除标示列的其他有默认值的列使用default
Truncate 关键字删除表中的数据,并将标示列还原,而使用delete删除数据时标示列是不会还原的
级联删除,设置级联关系以后,当删除外键列时,主键表中的相应数据也会被删掉。
级联更新。也是可以自动更新
count()中的列如果有空值的话,是不会计算的。
[^0]在sql中标示非O
据说子类的构造函数隐式的调用了父类的构造函数,所以说,是子类的构造函数先执行,但是确实是父类的构造函数先执行完,然后子类的构造函数才能执行完。父类在子类构造函数之中
between X and Y 表示 包括X和Y之间的数据,含X和Y
分了组的结果集可以用having()去做筛选,但是普通的结果集就应该用where去筛选。
distinct 后边可以跟多个列 ,用列的组合去除重复值,也就是说
distinct 后边可以跟多个条件。
union all 合并结果集时不会去除重复的数据,如果没有all就会去掉重复的数据 如果在实际中并不要考虑去掉重复数据的话,最好用all,这样效率会高,因为没有all的话需要扫描重复数据。效率低
select DatePart(year,FInDate),count(*) from T_Employee
group by DatePart(year,FInDate) 说明group by 可以和函数一起用,只要函数中的参数包括相应的分组列。
类型转换函数
CAST ( expression AS data_type) 使用as 转换
CONVERT ( data_type, expression) CONVERT 在做时间转换时要用到第三个参数,用来确定输出的时间格式。
join 中 应该是大表在前,小表在后,尽量不要使用别名,最好用前缀区分。
transaction
首先定义
begion transaction
然后判断是否有错误,使用@@error(系统级错误号)
if(无错误)
commit transaction
else
rollback transaction
存储过程 proc
可以带有输出参数
row_number() over(order by 列) 这一个函数在利用存储过程来分页很有用的,主要使用页吗 和页容量两个参数来实现分页功能
Windows Phone 7手机开发、.Net培训、期待与您交流!
相关文章推荐
- 黑马程序员之SQL学习笔记:数据库基础知识点学习总结
- 黑马程序员之SQL 学习笔记:数据库的内连接和外连接
- 黑马程序员之SQL学习笔记: 数据库相关知识 小总结
- QT笔记:数据库总结(二)之SQL模型类-QSqlQueryModel模型
- 黑马程序员之C#学习笔记:用户实例连接非内嵌式数据库
- 黑马程序员之ADO.NET学习笔记: SqlDataAdapter(数据适配器)
- SQL学习笔记之数据库专题(四):浅谈JDBC用法
- 数据库学习笔记---SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)
- 黑马程序员 学习笔记——SQL查询语句大全
- 2017-11-03数据库编程sql-day4笔记
- SQL复习笔记 --- 数据库设计步骤
- 黑马程序员-SQL学习笔记整理 内容主要来源于 .NET培训课件
- 【数据库学习笔记】Oracle_02_序列,分页,常用函数,jdbc,PL/SQL
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- 【数据库】sql编程笔记
- SQL笔记(6)_第六章 管理数据库事务
- 黑马程序员之ADO.NET学习笔记:省市选择程序,数据全部来自于数据库。
- 黑马程序员之ADO.NET学习笔记:SqlDataReader(数据流读取器)
- SQL Server笔记(一)数据库语言SQL
- Asp.net数据库SQL数据库操作学习笔记