Tag: 数据库

何时使用SQL表格别名

我很想知道人们如何使用表别名。 我工作的其他开发人员总是使用表别名,并始终使用a,b,c等的别名。 这是一个例子: SELECT a.TripNum, b.SegmentNum, b.StopNum, b.ArrivalTime FROM Trip a, Segment b WHERE a.TripNum = b.TripNum 我不同意他们,认为应该更加谨慎地使用餐桌别名。 我认为应该在查询中包含同一个表两次时使用,或者当表名非常长时,在查询中使用较短的名称将使查询更易于阅读。 我也认为这个别名应该是一个描述性的名字,而不仅仅是一个字母。 在上面的例子中,如果我觉得我需要使用1个字母的表别名,我会使用T作为Trip表和S表段表。

如何连接到Hibernate中的多个数据库

我是新的蜜蜂Hibernate和尝试的东西。 似乎有趣的一件事是如何连接到不同的数据库? 我在这里有两个问题: 如果在同一个Web应用程序中,我需要连接到MySQL和Oracle,我该怎么做? 我正在使用MySQL,并有两个数据库test1和test2,如何连接和检索数据? 我已经在博客中读过我们可以创build不同的configuration文件。 我尝试过,但没有成功。 这是我的尝试: SessionFactory sf = (SessionFactory) new Configuration().configure(path); 其中path是configuration文件的path。 这是正确的吗?

用PDOreplacemysql_ *函数并准备语句

我一直做mysql_connect , mysql_pconnect的简单连接: $db = mysql_pconnect('*host*', '*user*', '*pass*'); if (!$db) { echo("<strong>Error:</strong> Could not connect to the database!"); exit; } mysql_select_db('*database*'); 在使用这个函数的时候,我总是使用简单的方法在查询之前转义任何数据,无论是INSERT , SELECT , UPDATE还是DELETE ,使用mysql_real_escape_string $name = $_POST['name']; $name = mysql_real_escape_string($name); $sql = mysql_query("SELECT * FROM `users` WHERE (`name` = '$name')") or die(mysql_error()); 现在我明白这在一定程度上是安全的! 它逃脱了危险的人物; 但是,它仍然容易受到其他可能包含安全字符的攻击,但可能会对显示数据或在某些情况下恶意修改或删除数据有害。 所以,我search了一下,发现了PDO,MySQLi和准备好的语句。 是的,我可能会迟到,但是我已经阅读了许多教程(tizag,W3C,博客,Googlesearch),没有一个提到过这些。 这似乎很奇怪,为什么只是逃避用户的input实际上是不安全的,不好的做法至less可以说。 是的,我知道你可以使用正则expression式来解决这个问题,但是我相信这还不够? 根据我的理解,当用户inputvariables时,使用PDO /准备语句是一种更安全的方式来存储和检索数据库中的数据。 唯一的问题是,切换(特别是在被困在我以前的编码习惯之后)有点困难。 […]

我怎样才能从PostgreSQL触发器发送电子邮件?

我使用pgsql来设置一个触发器,当更新表数据集(将状态更改为Finished)时,它将使用数据集的电子邮件值自动发送电子邮件到电子邮件帐户,并将此电子邮件保存在服务器 但是我不知道如何在触发函数中写入发送邮件,并在服务器端发送邮件。 先谢谢你 Pg版本是9.1和CentOS 5.8 CREATE OR REPLACE FUNCTION sss() RETURNS trigger AS $BODY$begin if(NEW.publisher== 'aaaa') then //send email and save to server 192.168.171.64 end if; return NEW; end $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION sss() OWNER TO postgres; GRANT EXECUTE ON FUNCTION sss() TO postgres;

主键的devise标准是什么?

select好的主键,候选键和使用它们的外键是非常重要的数据库devise任务 – 与科学一样多的艺术。 devise任务有非常具体的devise标准。 什么标准?

聚簇索引必须是唯一的吗?

如果聚集索引不是唯一的,会发生什么? 可以导致性能不佳,因为插入的行stream到某种“溢出”页面? 它是“独特的”,如果是这样的? 什么是使其独特的最佳方式? 我问,因为我目前正在使用聚集索引来划分我的表的逻辑部分,但性能是如此,最近我得到的build议 ,使我的聚簇索引独特。 我想对此有第二个意见。 谢谢!

SQL Serverstring或二进制数据将被截断

我参与了数据迁移项目。 当我尝试从一个表插入数据到另一个表(SQL Server 2005)时出现以下错误: Msg 8152,Level 16,State 13,Line 1 string或二进制数据将被截断。 源数据列匹配数据types,并在目标表列的长度定义内,所以我不知道是什么原因导致了这个错误。

是否有一个相当于MySql的Profiler?

“Microsoft SQL Server Profiler是SQL Trace的graphics用户界面,用于监视数据库引擎或Analysis Services的实例。” 我发现使用SQL Server Profiler在开发,testing和debugging数据库应用程序时非常有用。 有谁知道,如果有一个等效的程序为MySql?

如何在Google AppEngine上实现“自动增量”

我必须以“强调单调增长”的方式来标记某些东西。 无论是发票号码,运输标签号码等。 一个数字不能被使用两次 当所有较小的数字都被使用(无孔)时,每个数字都应该被使用。 花哨的说法:我需要计算1,2,3,4 …我可用的数字空间通常是100.000个数字,我需要大概1000个一天。 我知道这是分布式系统中的一个难题,而且我们通常使用GUID更好。 但在这种情况下,出于法律的原因,我需要“传统的编号”。 这可以在Google AppEngine(最好是Python)上实现吗?

Android:使用SimpleCursorAdapter从数据库获取数据到ListView

我正在编程一个Android应用程序,应该使用数据库来存储数据并从中读取数据。 使用本教程(在archive.org上),我得到了应用程序来创build一个数据库,我能够创build新的条目,但是,我不知道,如何读取数据库来获取存储在ListView中的数据。 我知道这个网站上有很多类似的问题,但是似乎没有一个适用于教程中的数据库。 码: import java.util.Calendar; import maturarbeit.nicola_pfister.studenttools.database.DBAdapter; import android.app.AlertDialog.Builder; import android.app.ListActivity; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.database.Cursor; import android.os.Bundle; import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.ListView; public class Marks extends ListActivity { DBAdapter db = new DBAdapter(this); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.marks); } @Override protected void onPause() { […]