易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

在存储过程中连接SQL语句字符串

CREATE PROCEDURE [dbo].[PUB_CORP_SEARCH]
    @oi_return            INT                OUTPUT    ,        -- 操作返回值
    @ov_message            NVARCHAR(1000)    OUTPUT    ,        -- 操作返回信息
    @iv_user            VARCHAR(30)                ,        -- 操作用户
    @iv_bankcode        VARCHAR(30)    & ......

sql服务器安全加固

5.1 密码策略
  由于sql server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号。新建立一个拥有与sa一样权限的超级用户来管理数据库。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的sql语句:
  use master
  select name,password from syslogins where password is null
  5.2 数据库日志的记录
  核数据库登录事件的"失败和成功",在实例属性中选择"安全性",将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
  5.3 管理扩展存储过程
  xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个sql语句:
  use master
  sp_dropextendedproc ’xp_cmdshell’
  注:如果你需要这个存储过程,请用这个语句也可以恢复过来。
  sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll’
  ole自动存储过程(会造成管理器中的某些特征不能使用), ......

SQL中ON和WHERE条件的区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用left jion时,on和where条件的区别如下:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
假设有两张表:
表1:
tab1
id size
1 10
2 20
3 30
表2:
tab2
size name
10 AAA
20 BBB
20 CCC
两条SQL:
1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’
2、select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)
第一条SQL的过程:
1、中间表
on条件:
tab1.size = tab2.size 
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
2 20 20 BBB
2 20 20 CCC
3 30 (null) (null) 
 
2、再对中间表过滤
where 条件:
tab2.name=’AAA’
tab1.id tab1.size tab2.size tab2.name
1 10 10 AAA
& ......

SQL中convert的用法


来源:http://www.cnblogs.com/jxnuxg/articles/1114418.html
CONVERT(data_type,expression[,style])
语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varcha ......

sql之left join、right join、inner join的区别


 
sql之left join、right join、inner join的区别
昨天面试8页笔试题目,基本上都是SQl 的,特别是这几个区别,记得不是很清晰,只记得left是以左表为主表,
right以右表为主表,导致做错了几个!今天搜了下!总算弄清楚了!以下是转帖!
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下:
--------------------------------------------
表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115
表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408
--------------------------------------------
1.left join
sql语句如下:
select * from A
left join B
on A.aID = B.bID
结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401 ......

用sql查看表结构


1.oracle
 sql   = "SELECT column_name, data_type, data_length, nullable";
 sql += " from user_tab_columns ";
 sql += " where table_name='";
 sql += $tableName;
 sql += "'";
 select * from user_tab_comments   查询表名及表说明(comment)
 select * from user_col_comments    查询表及表中字段的说明
2.sql server
select  name,xtype,length,isnullable  from  syscolumns
where id =(select  top 1 Id   from  sysobjects  where name = '表名');
 
 sql   = "select  name,xtype,length,isnullable  from  syscolumns where id =";
 sql += " (select  top 1 Id   from  sysobjects  where name = '";
 sql += $tableName;
 sql += "')";
3.my sql
 sql   = "show columns from ";
 sql += $tableName;

 sq ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [1797] [1798] [1799] [1800] 1801 [1802] [1803] [1804] [1805] [1806]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号