论坛首页 入门技术论坛

SqlServer基础

浏览 1493 次
锁定老帖子 主题:SqlServer基础
该帖已经被评为新手帖
作者 正文
   发表时间:2009-09-20   最后修改:2009-09-21

--------- SQL ----------
T-SQL是SQL的加强版
dml:select, insert, update, delete
dcl:grant, revoke
ddl:create table, drop table
<> : 不等于
=: 等于
_: 代表一个字符
%: 代表任意长度的字符
[]: 指定范围内的字符
[^]: 取反,不是指定的字符
通配符常常与LIKE关键字一起使用
and, or, not逻辑表达式
-----------------------
insert [into] <表名> [列名] values<值列表>
注意:
1,要满足完整性的要求
2,不能为标识列指定值
3,不允许为空必须要插入数据
4,具有缺省值的可以用default来代替
insert into <表名> [列名]
select <列名>
from <源表名>

--先会创建表,再插入数据
select <列名>
into <表名>
from <源表名>

--生成新的标识
select identity (int ,1,1) as userId ...

update 表名 set 列名=更新值
where 更新条件

delete from 表名 where 删除条件

--删除表里所有的数据
truncate table 表名
-- 会将所有相关信息都清除,包括标识外键信息
-- 执行后,不能回滚

 

事务
conn.setAutoCommit(false);
conn.commit();
conn.rollback();

批处理
stmt.addBatch(sql);
stmt.executeBach();

连接池
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

JNDI(java naming directory interface)
Context ctxt = new initialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/books");
comp/env : j2ee默认路径名

JNDI 配置
<Context>
  <Recource
 auth="Container"
 type="javax.sql.DataSource"
 maxActive= 
 name="jdbc/books"
   username=
  password=
 driverClassName=
 url=
  />
</Context>
在web.xml中配置
<resource-ref>
<res-ref-name/>
<res-type/>
</resource-ref>

----------------
查询
sql server中的函数
字符函数:
charindex,len,lower,upper,ltrim,rtrim,right,replace,stuff
日期函数:
getdate,dateadd,datediff,datename,datepart
系统函数:
convert(用得比较多),current_user,datalength
host_name,system_user,user_name
聚合函数
sum,avg,max,min,count,
-----------
分组查询对比
where, group by, having
多表连接查询
内连接:inner join on 为默认的无先后顺序
左外连接:left join on以左边的表为基准
右外连接:right join on
---------------------------
类与数据库设计---继承
1,如何在关系数据库中实现继承
每个类均映射为数据库表
* 对报表的支持较差,除非定义视图

 

 

 

 

 

 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics