负责数据库中查询 *** 作的数据库语言是什么

负责数据库中查询 *** 作的数据库语言是什么,第1张

负责数据库中查询 *** 作的数据库语言是SQL语言。根据查询相关公开资料,SQL语言分为五大类:DDL(数据定义语言)-Create、Alter、Drop这些语句自动提交,无需用Commit提交。(DataDefinitionLanguage)DQL(数据查询语言)-Select查询语句不存在提交问题。DML(数据 *** 纵语言)-Insert、Update、Delete这些语句需要Commit才能提交。(DataManipulationLanguage)DTL(事务控制语言)-Commit、Rollback事务提交与回滚语句。DCL(数据控制语言)-Grant、Revoke授予权限与回收权限语句。

要点:left join,right join,inner join

首先有如下两个表:

Student:

ID(int) Name(nvarchar)

1 a

2 b

3 c

4 d

5 e

6 f

Quiz:

ID(int) score(int)

1 60

2 70

4 80

6 90

8 100

9 30

内连接:(inner join)包括连接表的匹配行

select StudentName,Quizscore from Quiz inner join Student on StudentID=QuizID

Name score

a 60

b 70

d 80

f 90

左连接:(left join)包括连接表匹配行以及左连接表的所有行

select StudentName,Quizscore from Student left join Quiz on StudentID=QuizID

Name score

a 60

b 70

c null

d 80

e null

f 90

右连接:(right join)结果包括连接表的匹配行以及右连接表的所有行

select StudentName,Quizscore from Student right join Quiz on StudentID=QuizID

Name score

a 60

b 70

d 80

f 90

null 100

null 30

当然,也可以看出左连接也可以写成右连接的形式:

select StudentName,Quizscore from Student right join Quiz on StudentID=QuizID等价于

select StudentName,Quizscore from Quiz left join Student on StudentID=QuizID

package comoadaoimpl; import javasqlConnection; </SPAN></li>import javasqlPreparedStatement; </SPAN></li>import javasqlResultSet; </SPAN></li>import javasqlSQLException; </SPAN></li>import javasqlStatement; </SPAN></li>import javautilList; </SPAN></li>import javautilMap; </SPAN></li> import orgapachecommonsloggingLog; </SPAN></li>import orgapachecommonsloggingLogFactory; </SPAN></li> import comoacoreDynaForm; </SPAN></li>import comoadaoDao; </SPAN></li>import comoajdbcConnectionFactory; </SPAN></li>import comoajdbcDaoAccessException; </SPAN></li>import comoajdbcDybaBean; </SPAN></li>import comoajdbcJdbcPage; </SPAN></li>import comoajdbcPage; </SPAN></li>import comoajdbcRowsDynaClass; </SPAN></li> / </SPAN></li> 基类DAO,实现一些基本共有方法 @author Gao_wx Mar 26, 2008 / public class BaseDao implements Dao { </SPAN></li> protected Log logger = LogFactorygetLog(BaseDaoclass); </SPAN></li> // 获取数据库链接 </SPAN></li> protected Connection getConnection() { </SPAN></li> return ConnectionFactorygetConnection(); </SPAN></li> } // 在此链接上,根据sql语句获取List </SPAN></li> protected List<DybaBean> getList(Connection conn, String sql) </SPAN></li> throws DaoAccessException { </SPAN></li> try { </SPAN></li> Statement st = conncreateStatement( ResultSetTYPE_SCROLL_INSENSITIVE, ResultSetCONCUR_READ_ONLY); ResultSet rs = stexecuteQuery(sql); return getList(rs); </SPAN></li> } catch (SQLException e) { </SPAN></li> throw new DaoAccessException(sql, e); </SPAN></li> } } // 根据Result获取List </SPAN></li> protected List<DybaBean> getList(ResultSet rs) throws SQLException { </SPAN></li> RowsDynaClass rsdc = new RowsDynaClass(rs); </SPAN></li> return rsdcgetRows(); </SPAN></li> } // 根据sql语句获取List </SPAN></li> protected List<DybaBean> getList(String sql) throws DaoAccessException { </SPAN></li> Connection conn = getConnection(); return getList(conn, sql); </SPAN></li> } // 在此连接上,根据sql语句,id加载一条记录 </SPAN></li> protected DybaBean loadById(Connection conn, String sql, int id) </SPAN></li> throws DaoAccessException { </SPAN></li> try { </SPAN></li> PreparedStatement pst = connprepareStatement(sql, ResultSetTYPE_SCROLL_INSENSITIVE, ResultSetCONCUR_READ_ONLY); pstsetInt(1, id); </SPAN></li> ResultSet rs = pstexecuteQuery(); List list = getList(rs); if (listsize() > 1) { </SPAN></li> loggerwarn("加载了2条以上的记录,请检查sql:" + sql); </SPAN></li> } if (listsize() == 0) { </SPAN></li> loggerwarn("数据库没有此记录!"); </SPAN></li> return null; </SPAN></li> } else { </SPAN></li> return (DybaBean) listget(0); </SPAN></li> } } catch (SQLException e) { </SPAN></li> throw new DaoAccessException(sql, e); </SPAN></li> } } // 根据sql语句,id,加载一条记录 </SPAN></li> protected DybaBean loadById(String sql, int id) throws DaoAccessException { </SPAN></li> Connection conn = getConnection(); return loadById(conn, sql, id); </SPAN></li> } // 在此连接上,根据Sql和id删除一条记录,返回影响行数 </SPAN></li> protected int deleteById(Connection conn, String sql, int id) </SPAN></li> throws SQLException { </SPAN></li> PreparedStatement pst = connprepareStatement(sql, ResultSetTYPE_SCROLL_INSENSITIVE, ResultSetCONCUR_READ_ONLY); pstsetInt(1, id); </SPAN></li> int del = pstexecuteUpdate(); </SPAN></li> return del; </SPAN></li> } // 根据sql语句,id删除一条记录 </SPAN></li> protected int deleteById(String sql, int id) throws DaoAccessException { </SPAN></li> Connection conn = getConnection(); try { </SPAN></li> int del = deleteById(conn, sql, id); </SPAN></li> return del; </SPAN></li> } catch (SQLException e) { </SPAN></li> throw new DaoAccessException(sql, e); </SPAN></li> } } protected Page getPage(DynaForm form, String sql) throws DaoAccessException { </SPAN></li> Connection conn = getConnection(); Page page = getPage(conn, form, sql); return page; </SPAN></li> } // 获取分页对象 </SPAN></li> protected Page getPage(Connection conn, DynaForm form, String sql) </SPAN></li> throws DaoAccessException { </SPAN></li> int p = formgetInt("p"); </SPAN></li> if (p < 1) { </SPAN></li> p = 1; </SPAN></li> } int size = formgetInt("size"); </SPAN></li> if (size < 10) { </SPAN></li> size = 10; </SPAN></li> } Page page; try { </SPAN></li> page = new JdbcPage(conn, sql, p, size); </SPAN></li> } catch (SQLException e) { </SPAN></li> throw new DaoAccessException(sql, e); </SPAN></li> } return page; </SPAN></li> } }

finally

{

cmdDispose();

connectionClose();

}

连接都关闭了,还怎么读取

把connectionClose();去掉,

读取数据之后,关闭reader就可以了

string sqlcmd = "select from system_config";

SqlDataReader reader = myDataMyReader(sqlcmd);

if (readerRead())

{

sitenameValue = reader["sitename"]ToString();

en_sitenameValue = reader["en_sitename"]ToString();

company_nameValue = reader["company_name"]ToString();

en_company_nameValue = reader["en_company_name"]ToString();

company_telValue = reader["company_tel"]ToString();

company_faxValue = reader["company_fax"]ToString();

}

if(!readerIsClosed){readerClosed();}

以上就是关于负责数据库中查询 *** 作的数据库语言是什么全部的内容,包括:负责数据库中查询 *** 作的数据库语言是什么、mysql数据库查询 *** 作、JSPWeb开发中一个关于数据库 *** 作类该这么写,类中要带有查询,增删改,以及关闭数据库 *** 作方法,请高手指等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10187355.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存