select?*?from?表名?where?時(shí)間?between?開(kāi)始時(shí)間?and?結(jié)束時(shí)間?order?by?rand()?limit?10
創(chuàng)新互聯(lián)成立于2013年,公司以網(wǎng)站建設(shè)、做網(wǎng)站、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶上千,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
其中order by rand()是隨機(jī),后邊的10是10條的意思
從mysql數(shù)據(jù)庫(kù)表中隨機(jī)獲取數(shù)據(jù)
其實(shí),從數(shù)據(jù)庫(kù)隨機(jī)獲取數(shù)據(jù),很簡(jiǎn)單,只須用到一個(gè)rand()函數(shù);
select * from table_name order by rand() limit 0,5;
下面是一個(gè)小實(shí)例:
從文章表中隨機(jī)獲取5條數(shù)據(jù)。
$dblink=mysql_connect("localhost","root","123456");
mysql_query("set names utf8");
mysql_select_db("aixuexi");
$sql="select * from waxx_article order by rand() limit 0,5";
$rs=mysql_query($sql);
while($row=mysql_fetch_array($rs)){
$rows[]=$row;
}
if($rows){
foreach($rows as $v){
?
div style="width:350px;height:35px;line-height:35px;border:1px solid #ccc;"?php echo $v['title']; ?/div
?php
}
}else{
echo "暫無(wú)文章";
}
項(xiàng)目工作中,可能會(huì)有 A 類型數(shù)據(jù)庫(kù)數(shù)據(jù)需要遷移到 B 類型的數(shù)據(jù)庫(kù)中的需求。 例如:假設(shè)現(xiàn)有一個(gè)數(shù)據(jù)庫(kù)的遷移需求,是將 Oracle 數(shù)據(jù)庫(kù)里的數(shù)據(jù)遷移至 Mysql 數(shù)據(jù)庫(kù)中。 常規(guī)的測(cè)試方法是人工去抽樣檢測(cè)數(shù)據(jù)進(jìn)行 diff,因?yàn)閿?shù)據(jù)量太大,人工不可能實(shí)現(xiàn)全量數(shù)據(jù)的肉眼 diff。
因此,為提高數(shù)據(jù) diff 的正確性以及測(cè)試效率,編寫(xiě)測(cè)試腳本進(jìn)行全量遷移數(shù)據(jù)的 diff 是十分必要的。以下內(nèi)容將會(huì)著重講解如何使用 Python 編寫(xiě)腳本來(lái)實(shí)現(xiàn) Oracle 與 Mysql 這種不同類型數(shù)據(jù)庫(kù)之間數(shù)據(jù)的 diff。
1、連接oracle數(shù)據(jù)庫(kù)并獲取要提取的數(shù)據(jù),并輸出列表里面嵌入的字典類型的數(shù)據(jù)
2、連接mysql數(shù)據(jù)庫(kù)并獲取要提取的數(shù)據(jù),并輸出列表里面嵌入的字典類型的數(shù)據(jù)
3、Oracle 與 Mysql 數(shù)據(jù)庫(kù)進(jìn)行 diff,直接調(diào)用上面兩個(gè)方法即可
4、執(zhí)行后的輸出結(jié)果
create table names(id int,name varchar(10));
insert into names values(1,'張三')
insert into names values(2,'李四')
insert into names values(3,'王五')
insert into names values(4,'趙六')
select replace(b,'張三',t2.name) b from
(select ceiling(rand()*5) id,b from a) t1
left join
(select id,name from names) t2
on t1.id=t2.id
我沒(méi)有測(cè)試,可能有些小問(wèn)題,但思路應(yīng)該是對(duì)的
給隨機(jī)姓名編號(hào)
a表用隨機(jī)數(shù)生成編號(hào)列,對(duì)應(yīng)姓名編號(hào)
關(guān)聯(lián)2個(gè)表,并替換相應(yīng)字段