青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

興海北路

---男兒仗劍自橫行
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

統(tǒng)計(jì)

  • 隨筆 - 85
  • 文章 - 0
  • 評(píng)論 - 17
  • 引用 - 0

常用鏈接

留言簿(6)

隨筆分類

隨筆檔案

收藏夾

全是知識(shí)啊

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

鳥哥學(xué)習(xí)Shell Scripts

     摘要: 引用:    學(xué)習(xí)Shell Scripts    如果您真得很想要走信息這條路,并且想要好好的管理好屬于您的主機(jī),那么,別說鳥哥不告訴您,Shell Scripts真的是必須要學(xué)習(xí)的一項(xiàng)課程!基本上,Shell scripts有點(diǎn)像是早期的批處理文件,亦即是將一些指令匯編起來一次執(zhí)行,但是Shell scripts擁有更強(qiáng)大的功能,那就...  閱讀全文

posted @ 2008-03-16 18:40 隨意門 閱讀(511) | 評(píng)論 (0)編輯 收藏
如何把Access中數(shù)據(jù)導(dǎo)入Mysql中[手工]

作者: falcon   發(fā)表日期: 2006-04-12 18:31   復(fù)制鏈接



版權(quán)聲明:該文為本人原創(chuàng),可以自由轉(zhuǎn)載,但不得用于商業(yè)途徑,并且需保留原作者名和本站地址.

參考資料:
1)mysql入門:http://space.lzu.edu.cn/homeof/usmot/bbs/show.asp?id=85
2)mysql數(shù)據(jù)類型:http://blog.xinweb.org/?action=show&id=20
3)mysql中文手冊(cè):http://www.linuxforum.net/books/mysqlmanual/manual_toc.html
4)mysql導(dǎo)入導(dǎo)出:http://it.yn.cninfo.net/pubnews/doc/read/8742421943220786691/103.oldsystem14.2635/index.asp

背景說明:

由于要做ftp搜索引擎的新版,即把目前VB+ACCESS+ASP的版本轉(zhuǎn)換成C+Mysql+PHP版

打算WEB開發(fā)和底層開發(fā)同時(shí)進(jìn)行

所以得先想辦法把Access中的數(shù)據(jù)轉(zhuǎn)到Mysql中

那么如何實(shí)現(xiàn)呢?

轉(zhuǎn)入正題
下面,一步一個(gè)腳印開始把Access數(shù)據(jù)轉(zhuǎn)換成Mysql的哦

第一步:

根據(jù)Access中數(shù)據(jù)庫的邏輯結(jié)構(gòu)[或者是以前寫好的數(shù)據(jù)庫設(shè)計(jì)文檔哦]
在Mysql下設(shè)計(jì)并創(chuàng)建出對(duì)應(yīng)的數(shù)據(jù)庫

先看看Access中的幾個(gè)表的結(jié)構(gòu),并進(jìn)行初步的數(shù)據(jù)類型轉(zhuǎn)換哦
site_tab //站點(diǎn)信息表

字段名稱     數(shù)據(jù)類型(Access)     數(shù)據(jù)類型(Mysql)
id     數(shù)字     int
site     文本     char(15)
port     數(shù)字     int
user     文本     char(15)
pw     文本     char(15)
acc     是/否     enum('N','Y')
indb     是/否     enum('N','Y')
info     備注     text

key_tab //關(guān)鍵字統(tǒng)計(jì)表

key     文本     char(100)
acctime     數(shù)字     int


file_tab //文件表

file     Text(100)     char(100)
postfix     Text(4)     char(4)
pid     Integer     int
ipid     Integer     int
acctime     long     int

cat_tab //目錄表

id     Integer     int
cat     Text(100)     char(100)
postfix     Text(4)     char(1) //這個(gè)可以考慮刪除掉,因?yàn)槎嘤?br>pid     Integer     int
ipid     Integer     int
acctime     long     int

下面根據(jù)上面的轉(zhuǎn)換,創(chuàng)建mysql下的數(shù)據(jù)庫和對(duì)應(yīng)的表項(xiàng)
[注意:上面涉及到的Mysql的數(shù)據(jù)類型可能選擇地不夠合適,需要日后調(diào)整]

先創(chuàng)建庫,取名為falcon_search
create database falcon_search;

創(chuàng)建表site_tab
create table site_tab
(
id   int   not null primary key,
site   char(15)   not null,
port   int   default 21,
user   char(15)   not null   default 'anonymous',
pw   char(15)   not null   default 'falcon',
acc   enum('N','Y')   default 'N',
indb   enum('N','Y')   default 'N',
info   text
);

創(chuàng)建表key_tab
create table key_tab
(
skey   char(100) binary not null unique ,
acctime   int default 0
);

創(chuàng)建表cat_tab
create table cat_tab
(
id   int,
cat   char(100) binary not null,
postfix   char(1) binary,
pid   int references cat_tab(id),
ipid   int references site_tab(id),
acctime   int,
primary key(id,ipid)
);

創(chuàng)建文件表file_tab
create table file_tab
(
file   char(100) binary not null,
postfix   char(4) binary   not null,
pid   int references cat_tab(id),
ipid   int references site_tab(id),
acctime   int
);
//由于文件重名的情況比較多,所以無須設(shè)置主關(guān)鍵字
第二步:

數(shù)據(jù)庫和表都創(chuàng)建好拉,我們現(xiàn)在得想辦法把數(shù)據(jù)從Access弄到Mysql下
怎么弄呢?

1)先把Access中的數(shù)據(jù)導(dǎo)出為txt文件[文本文件]
具體辦法:打開要操作的Access數(shù)據(jù)庫后,選擇"文件">>導(dǎo)出>>文本文件
在選擇導(dǎo)出后會(huì)彈出一個(gè)窗口,我們通過單擊"高級(jí)"設(shè)置其中的字段分割符為{tab},文本識(shí)別符號(hào)改成{無},當(dāng)然還可以進(jìn)行其他的設(shè)置哦.
注意:對(duì)應(yīng)的各個(gè)文件的文件名取名為對(duì)應(yīng)的表名哦(統(tǒng)一一下,方便后面操作)


2)之后,復(fù)制到mysql下的bin所在目錄下

第三步:

設(shè)法把文本文件中的數(shù)據(jù)導(dǎo)入到剛才創(chuàng)建的表中,要對(duì)應(yīng)起來哦

主要用到該句:LOAD DATA LOCAL IN FILE 存有數(shù)據(jù)的文本文件名 INTO TABLE 表名;

下面我們通過該辦法一個(gè)一個(gè)地把數(shù)據(jù)從文本文件中導(dǎo)入對(duì)應(yīng)的表中

1)site_tab.txt===>site_tab
load data local infile "site_tab.txt" into table site_tab;

ok,成功拉,不過好象有警告哦

我們先用select * site_tab;看看
原來,acc和indb全為空的

現(xiàn)在我們只要把a(bǔ)cc和indb的值更新為'N'就可以拉:
update site_tab set indb="N";
update site_tab set acc="N";

2)key_tab.txt===>key_tab

load data local infile "key_tab.txt" into table key_tab;

3)cat_tab.txt===>cat_tab

load data local infile "cat_tab.txt" into table cat_tab;

4)file_tab.txt===>file_tab

load data local infile "file_tab.txt" into table file_tab;


呵呵,ok,我們成功的把數(shù)據(jù)從Access導(dǎo)入到Mysql里頭拉
其實(shí)我們完全可以把這些操作更簡化一些,有時(shí)間再弄,呵呵

兄弟姐妹們還有什么好的簡單辦法,不妨到后面跟貼哦

關(guān)于把文本文件里頭的數(shù)據(jù)轉(zhuǎn)入postgresql中:

Quote:

將SQLSERVER的數(shù)據(jù)導(dǎo)入到postgresql中
在linux 的實(shí)際應(yīng)用過程中,經(jīng)常要處理一些數(shù)據(jù)的導(dǎo)入及導(dǎo)出 ,特別是將windows平臺(tái)的數(shù)據(jù)導(dǎo)到linux平臺(tái)的數(shù)據(jù)庫中. 從網(wǎng)上的一篇“如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中”文中,我獲得了一些啟示,成功的將sqlserver數(shù)據(jù)導(dǎo)到了postgresql數(shù)據(jù)庫 中。
實(shí)現(xiàn)手段如下:
postgresql有一個(gè)非常有用的sql命令COPY — 在表和文件之間拷貝數(shù)據(jù) ,
語法
COPY [ BINARY ] table [ WITH OIDS ]
FROM { filename | stdin }
[ [USING] DELIMITERS delimiter ]
[ WITH NULL AS ull string ]
COPY [ BINARY ] table [ WITH OIDS ]
TO { filename | stdout }
[ [USING] DELIMITERS delimiter ]
[ WITH NULL AS ull string ]
詳細(xì)請(qǐng)參見postgresql7.1.1 document中文版(http://laser.zhengmai.com.cn/pgsqldoc-7.0c/sql-copy.htm)說明。
首 先我們把數(shù)據(jù)從sqlserver中導(dǎo)出為文本文件.在導(dǎo)出過程中注意選擇好字段分隔符和文本標(biāo)識(shí)符,且查看一下文本文件,確定一個(gè)記錄是否在同一行上, 如不是,則手工把回車鍵除掉.假如我們導(dǎo)出的文本文件為c:\friend.txt.把它拷貝到linux下 /usr/test/目錄下。其內(nèi)容如下:
1,云飛揚(yáng),男,南京六合,徐州建院
2,孫高勇,男,南京六合,徐州建院
3,朱曉玲,女,南京,未知
我們要將數(shù)據(jù)從linux文件復(fù)制到表friends(表的結(jié)構(gòu)要同文本文件的格式一致字段如下:id,name,sex,address,school),使
用“,”字符作為分隔線:
copy friends FROM /usr/test/friend.txt USING DELIMITERS ',';
去試一下(注意轉(zhuǎn)義字符),是不是一切ok!
當(dāng)然拉,這種方法還是比較麻煩地,不知各位還有什么更好的方法,請(qǐng)告訴我,我的email:yfy002@21cn.com

參考文檔:1.如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中
2.postgresql7.1.1 document中文版(http://laser.zhengmai.com.cn)



參考http://www.akae.cn/bbs/redirect.php?fid=24&tid=3584&goto=nextoldset

posted @ 2008-03-14 16:16 隨意門 閱讀(526) | 評(píng)論 (0)編輯 收藏
mysql模糊查詢結(jié)果不準(zhǔn)確的解決辦法

作者: falcon   發(fā)表日期: 2006-04-15 16:07   復(fù)制鏈接



引言:

在執(zhí)行mysql的模糊查詢操作時(shí),發(fā)現(xiàn)返回的結(jié)果不準(zhǔn)確,可至今沒有找到完善的解決方案,所以特地來尋求解決方案拉.

問題:


我在命令行里頭直接使用mysql(版本為mysql-4.0.18-win.zip)的時(shí)候也出現(xiàn)同樣問題:
===================================
我有一個(gè)表里頭存放了一些文件信息,包括中文的非中文的;
表名為file_tab,里頭的重要字段是file,存放文件名,另外該字段的類型是char

我想查找包含"新鮮"這個(gè)詞語的所有文件
理所當(dāng)然的就用了

select file from file_tab where file like '%新鮮%'

執(zhí)行后返回的結(jié)果卻包含了其他信息,如下:

李湘給我新鮮
凱瑞·路易斯·托馬斯&克利斯·馬頓-水晶頭骨之謎
劉易斯·托馬斯-水母與蝸牛
劉易斯·托馬斯-細(xì)胞生命的禮贊
托馬斯-細(xì)胞生命的禮贊
[劉易斯·托馬斯] 科學(xué)的危險(xiǎn)
[柳文揚(yáng)] 托馬斯叔叔的推薦信
08.新鮮

結(jié)果明顯不符合我的本來用意

自己分析:有可能是mysql對(duì)中文的處理問題,也許其他文件名里頭的信息對(duì)應(yīng)字節(jié)信息和"新鮮"對(duì)應(yīng)的字節(jié)信息存在匹配關(guān)系,所以才得到這樣不符合本來要求的結(jié)果,可是我找不到解決辦法.

后來我以為是mysql的版本太低,從貴站下了msyql5.0.18,可是輸出結(jié)果同樣不準(zhǔn)確,所以無奈
麻煩大家一起探討/

詳細(xì)見:http://bbs.mysql.cn/thread-633-1-1.html



解決辦法:

解決問題本身
如果你定義該字段類型為char型,請(qǐng)用alter添加約束binary;
針對(duì)我上面的問題,解決方案如下:

先用describe file_tab查看該表的數(shù)據(jù)結(jié)構(gòu),然后通過下面的語句進(jìn)行修改

alter table file_tab modify file char(100) binary not null;

[注:其中char(100) not null為原來的類型或約束,binary為添加的約束]

補(bǔ)充,如果你定義的字段類型為其他類型,遇到類似問題,可能也是沒有加binary的緣故,試試就知道,呵呵

不過到底還是不知道為什么要用binary哦
所以我有去網(wǎng)路上找了一下,在百度里頭輸入mysql binary

先是找到《mysql中文參考手冊(cè)》(用編輯>查找>binary,看看其作用)
http://www.yesky.com/imagesnew/software/mysql/manual_Compatibility.html
里頭介紹了binary的作用:

缺省地,所有的字符串比較是忽略大小寫的,由當(dāng)前的字符集決定了(缺省為ISO-8859-1 Latin1)排序順序。如果你不喜歡這樣,你應(yīng)該用BINARY屬性或使用BINARY強(qiáng)制符聲明列,它導(dǎo)致根據(jù)MySQL服務(wù)器主機(jī)的ASCII順序進(jìn)行排序。

后來竟然找到和我問題一樣的東東:
《MySQL中文模糊檢索問題的解決方法》
http://down.dl.net.cn/Article.asp?id=605
我的天啊,竟然有這么詳細(xì)的解決辦法

解決附帶問題,實(shí)現(xiàn)不區(qū)分大小寫查詢

但是仔細(xì)一看,用binary后,竟然區(qū)分大小寫拉

因此在查找的時(shí)候很不方便

那么我們?cè)撛趺崔k呢?

上面的文章中提到了解決辦法,但在文末尾提到了這樣會(huì)影響一些速度
那怎么盡量消除這個(gè)解決辦法帶來的的速度的影響呢?

這樣子:

我們?cè)谔砑訑?shù)據(jù)進(jìn)入表之前把該字段的所有數(shù)據(jù)全部該成小寫,然后在查詢的時(shí)候把輸入的關(guān)鍵字也轉(zhuǎn)換成小寫的,那么問題不是解決拉,呵呵

具體可以這么做:

update file_tab set file=lcase(file);

然后查詢的時(shí)候,改成
我們先設(shè)傳進(jìn)來的參數(shù)為$filename
那么可以這么做:

select file from file_tab where file like '%lcase($filename)%'

到現(xiàn)在,問題基本上完善解決拉

posted @ 2008-03-14 16:14 隨意門 閱讀(1287) | 評(píng)論 (0)編輯 收藏
mysql數(shù)據(jù)庫的備份與恢復(fù)詳解

作者: falcon   發(fā)表日期: 2006-04-16 10:50   復(fù)制鏈接



引言:

數(shù)據(jù)對(duì)我們來說,往往非常重要,一旦丟失,將損失巨大,因此應(yīng)該養(yǎng)成備份和恢復(fù)數(shù)據(jù)的習(xí)慣

正文:

對(duì)于mysql來說,常見的備份和恢復(fù)辦法如下:

先通過命令行進(jìn)入mysql的bin目錄下,然后進(jìn)行如下操作

備份:mysqldump 需要導(dǎo)出的數(shù)據(jù)庫名 >想備份成的文件名 -u 用戶名 -p

如我想用root用戶導(dǎo)出一個(gè)名為falcon_search的數(shù)據(jù)庫為一個(gè)falcon_search.mysql,那么我就可以這么做拉

Quote:

mysqldump falcon_search >falcon_search.mysql -u root -p


Enter password: ******
******輸入你的root用戶密碼就可以拉

備份和恢復(fù)往往是孿生兄弟或姐妹
下面我們來恢復(fù)

恢復(fù):mysqldump 需要導(dǎo)入為什么數(shù)據(jù)庫名 <備份好的文件名 -u 用戶名 -p

假如我要恢復(fù)剛才備份的數(shù)據(jù)庫,那么我可以這么做
Quote:

mysqldump falcon_search <falcon_search.mysql -u root -p


Enter password: ******
******輸入你的root用戶密碼就可以拉

到這里,我們發(fā)現(xiàn)mysql數(shù)據(jù)庫的備份和恢復(fù)比較簡單,是吧?
不過這種備份和恢復(fù)只能在mysql內(nèi)部進(jìn)行哦,也就是說這樣備份的數(shù)據(jù)不容易恢復(fù)到其他的數(shù)據(jù)庫里頭去.

其實(shí)mysqldump還有更多強(qiáng)大和靈活的數(shù)據(jù)導(dǎo)入功能,如果與load命令想結(jié)合將很靈活的實(shí)現(xiàn)不同數(shù)據(jù)庫之間的備份和恢復(fù).

先看看mysqldump命令介紹吧:http://www.top169.net/Article/Database/d03/200509/Article_14746.htm

下面我們就把上面連接中幾個(gè)常用的東西扣出來,主要介紹如何導(dǎo)出數(shù)據(jù)庫的表結(jié)構(gòu)(create語句),數(shù)據(jù)(insert語句),表結(jié)構(gòu)定義和文本內(nèi)容,然后介紹如何執(zhí)行類似批處理文件sql腳本,以及如何把文本內(nèi)容導(dǎo)入到數(shù)據(jù)庫內(nèi).
[注:我同樣以一個(gè)數(shù)據(jù)庫名為falcon_search的數(shù)據(jù)庫來介紹]

首先,我們導(dǎo)出數(shù)據(jù)庫的表結(jié)構(gòu)
Quote:

mysqldump -d falcon_search >falcon_search.sql



我們發(fā)現(xiàn)falcon_search.sql中的內(nèi)容如下:
-- MySQL dump 9.10
--
-- Host: localhost   Database: falcon_search
-- ------------------------------------------------------
-- Server version     4.0.18-nt

--
-- Table structure for table `cat_tab`
--

CREATE TABLE cat_tab (
id int(11) NOT NULL default '0',
cat char(100) binary NOT NULL default '',
postfix char(1) binary default NULL,
pid int(11) default NULL,
ipid int(11) NOT NULL default '0',
acctime int(11) default NULL,
PRIMARY KEY (id,ipid)
) TYPE=MyISAM;

--
-- Table structure for table `file_tab`
--

CREATE TABLE file_tab (
file char(100) binary NOT NULL default '',
postfix char(4) binary NOT NULL default '',
pid int(11) default NULL,
ipid int(11) default NULL,
acctime int(11) default NULL
) TYPE=MyISAM;

--
-- Table structure for table `key_tab`
--

CREATE TABLE key_tab (
skey char(100) binary NOT NULL default '',
acctime int(11) default '0',
UNIQUE KEY skey (skey)
) TYPE=MyISAM;

--
-- Table structure for table `site_tab`
--

CREATE TABLE site_tab (
id int(11) NOT NULL default '0',
site varchar(15) NOT NULL default '',
port int(11) default '21',
user varchar(15) NOT NULL default 'anonymous',
pw varchar(15) NOT NULL default 'falcon',
acc enum('N','Y') default 'N',
indb enum('N','Y') default 'N',
info text,
PRIMARY KEY (id)
) TYPE=MyISAM;

里頭有詳細(xì)的信息,包括數(shù)據(jù)庫名,以及各個(gè)表的結(jié)構(gòu).

現(xiàn)在我們導(dǎo)出數(shù)據(jù)(insert語句)

mysqldump -t falcon_search >falcon_search.txt
注意:這里的falcon_search.txt里頭的內(nèi)容是一些insert語句,也是sql腳本,在創(chuàng)建好對(duì)應(yīng)的數(shù)據(jù)庫后可以直接執(zhí)行

直接導(dǎo)出上面兩項(xiàng)到一個(gè)文件中

mysql falcon_search >falcon_search.sql

這里的falcon_search.sql將包括上面兩項(xiàng)內(nèi)容

導(dǎo)出表結(jié)構(gòu)以及對(duì)應(yīng)表中數(shù)據(jù)的文本文件

mysqldump -T . falcon_search

生成8個(gè)文件,分別是4個(gè)表的定義文件,和四個(gè)表數(shù)據(jù)對(duì)應(yīng)的文本文件

注意這個(gè)時(shí)候的參數(shù)哦,有兩項(xiàng)包括-T(大寫)以及.(當(dāng)前路徑,指明導(dǎo)出數(shù)據(jù)存放的路徑,你完全可以指明為其他的路徑)

補(bǔ)充:導(dǎo)出為文本格式的數(shù)據(jù)還有一個(gè)辦法
例如,我要導(dǎo)出file_tab中的所有數(shù)據(jù)到falcon_search.txt

select * into outfile "falcon_search.txt" from file_tab;

注意:默認(rèn)路徑不再是bin目錄下,而是mysql/data路徑下,其實(shí)你可以自己指明路徑

到這里我們很靈活的獲得了數(shù)據(jù)庫的集中形式了.

下面得介紹一下備份的孿生兄弟[恢復(fù)]哦

我們分別根據(jù)我們已經(jīng)得到的備份文件來進(jìn)行恢復(fù)
[注:假設(shè)我們下面進(jìn)行的恢復(fù)操作是完全在一個(gè)剛安裝的mysql上進(jìn)行的]

第一種情況

假如我們得到的是表結(jié)構(gòu)(creat語句)以及數(shù)據(jù)(insert語句)的sql腳本,即我們上面得到的falcon_search.sql和falcon_search.txt

那么我們先根據(jù)腳步里頭的表結(jié)構(gòu)腳本里頭的數(shù)據(jù)庫名創(chuàng)建相應(yīng)的數(shù)據(jù)庫

create database falcon_search;

然后先在falcon_search.txt文件的最前面添加上一句

use falcon_search;

接著直接執(zhí)行表結(jié)構(gòu)對(duì)應(yīng)的sql腳本

mysql <falcon_search.sql

這樣我們就已經(jīng)創(chuàng)建好了數(shù)據(jù)庫和表拉,剩下的是插入數(shù)據(jù)

同樣我們先加入這么一句到falcon_searh.txt的最前面

use falcon_search;

接著類似執(zhí)行

mysql <falcon_search.txt

這樣我們就進(jìn)行第一種情況的恢復(fù)工作

第二種情況

假如我們得到僅有falcon_search.sql,即里頭即包含了表結(jié)構(gòu)也包含了數(shù)據(jù),那么我們恢復(fù)工作更簡單拉

先創(chuàng)建falcon_search數(shù)據(jù)庫
然后在falcon_search.sql語句的最前面添加一句

use falcon_search;

接著執(zhí)行falcon_search.sql腳本就可以

mysql <falcon_search.sql


第三種情況

假如我們獲得的是每個(gè)表的表結(jié)果文件(表名.sql)以及各個(gè)表的數(shù)據(jù)對(duì)應(yīng)的文本文件

我們進(jìn)行的工作實(shí)質(zhì)上同上

先創(chuàng)建數(shù)據(jù)庫[根據(jù)表結(jié)構(gòu)文件中database的名]
然后在每個(gè)sql腳本前面加上
use falcon_search;
接著執(zhí)行各個(gè)sql腳本,創(chuàng)建各個(gè)表
然后我們的重要內(nèi)容是把文本文件導(dǎo)入到各個(gè)表中拉

這里重點(diǎn)介紹一下
需要用load data local infile "文本文件(如果不是當(dāng)前路徑請(qǐng)指明絕對(duì)路徑)" into table 表名;
說明,其中l(wèi)ocal指明為從本地文件導(dǎo)入

假如我要把當(dāng)前目錄下(bin)的site_tab.txt里頭的內(nèi)容導(dǎo)入到site_tab中
只要

先進(jìn)入mysql的命令行下

mysql>use falcon_search;
msyql>load data local infile "site_tab.txt" into table site_tab;

使用load的好處是,可以很方面通過文本文件這個(gè)途徑把其他數(shù)據(jù)庫中的內(nèi)容導(dǎo)入到mysql中,從而作到不同數(shù)據(jù)庫之間數(shù)據(jù)的轉(zhuǎn)換拉。

ok,到這里基本上就完了
如果有問題可以在后面跟帖哦

posted @ 2008-03-14 16:14 隨意門 閱讀(398) | 評(píng)論 (0)編輯 收藏
在mysql中使用全文索引

作者: falcon   發(fā)表日期: 2006-04-25 10:54   復(fù)制鏈接



引言:

在使用like進(jìn)行模糊查詢,當(dāng)數(shù)據(jù)量大到一定程序的時(shí)候,我們會(huì)發(fā)現(xiàn)查詢的效率是相當(dāng)?shù)拖碌摹O旅婢痛私榻B一下mysql提供全文索引和搜索的功能。

正文:

下面是從參考資料里頭摘錄下來的內(nèi)容,具體使用見參考資料,那里更詳細(xì)哦


1) 很多互聯(lián)網(wǎng)應(yīng)用程序都提供了全文搜索功能,用戶可以使用一個(gè)詞或者詞語片斷作為查詢項(xiàng)目來定位匹配的記錄。在后臺(tái),這些程序使用在一個(gè)SELECT查詢中 的LIKE語句來執(zhí)行這種查詢,盡管這種方法可行,但對(duì)于全文查找而言,這是一種效率極端低下的方法,尤其在處理大量數(shù)據(jù)的時(shí)候。
  MySQL 針對(duì)這一問題提供了一種基于內(nèi)建的全文查找方式的解決方案。在此,開發(fā)者只需要簡單地標(biāo)記出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段 運(yùn)行搜索,這不僅僅提高了性能和效率(因?yàn)镸ySQL對(duì)這些字段做了索引來優(yōu)化搜索),而且實(shí)現(xiàn)了更高質(zhì)量的搜索,因?yàn)镸ySQL使用自然語言來智能地對(duì) 結(jié)果評(píng)級(jí),以去掉不相關(guān)的項(xiàng)目。

2)到 3.23.23 時(shí),MySQL 開始支持全文索引和搜索。全文索引在 MySQL 中是一個(gè) FULLTEXT 類型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 時(shí)或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上創(chuàng)建。對(duì)于大的數(shù)據(jù)庫,將數(shù)據(jù)裝載到一個(gè)沒有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CREATE INDEX) 創(chuàng)建索引,這將是非常快的。將數(shù)據(jù)裝載到一個(gè)已經(jīng)有 FULLTEXT 索引的表中,將是非常慢的。

全文搜索通過 MATCH() 函數(shù)完成。


下面大概介紹一下創(chuàng)建全文索引的過程,主要有兩種辦法:
第一種是創(chuàng)建表的時(shí)候就創(chuàng)建全文索引,第二種類是在創(chuàng)建表以后再增加全文索引,通過上面的引文我們知道后者比前者有些好處

1、先創(chuàng)建表,然后通過"AlTER TABLE"增加全文索引

mysql> create database ftt;   --創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.03 sec)
mysql> use ftt;           --使用數(shù)據(jù)庫
Database changed
mysql> create table reviews     --創(chuàng)建表
  -> (
  -> id int(5) primary key not null auto_increment,
  -> data text
  -> );
Query OK, 0 rows affected (0.09 sec)

mysql> INSERT ignore INTO `reviews` (`id`, `data`) VALUES(1, 'Gingerboy has a new singl
e out called Throwing Rocks. It\'sgreat!'); --下面三句都是插入數(shù)據(jù)
Query OK, 1 row affected (0.06 sec)

mysql> INSERT ignore INTO `reviews` (`id`, `data`) VALUES (2, 'Hello all, I really like
the new Madonna single. One of the hottest tracks currently playing...I\'ve bee
n listening to it all day');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT ignore INTO `reviews` (`id`, `data`)VALUES (3, 'Have you heard the new ba
nd Hotter Than Hell?They have five members and they burn their instruments when
they play in concerts. These guys totally rock! Like, awesome, dude!');
Query OK, 1 row affected (0.00 sec)

mysql> alter table reviews add fulltext index (data);   --通過alter增加全文索引
Query OK, 3 rows affected (0.16 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select id from reviews where match (data) against ('Madonna'); --通過match和against實(shí)現(xiàn)全文檢索
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)

mysql> select id from reviews where match (data) against ('+Madonna+instruments'
); --搜索出包含Madonna或者instruments的所有記錄的id號(hào)
+----+
| id |
+----+
| 2 |
| 3 |
+----+
2 rows in set (0.00 sec)

mysql> select id from reviews where match (data) against ('Mado*' in boolean mod
e); --檢索出包含Mado的所有記錄的id
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)


補(bǔ)充
  從上面的結(jié)果不難看出,mysql的全文索引和檢索支持多關(guān)鍵字,從下面的參考資料,你還可以發(fā)現(xiàn)更多實(shí)現(xiàn),看看去哦

2、在創(chuàng)建表的時(shí)候就創(chuàng)建全文索引

由于其他的內(nèi)容和上面差不多,下面只給出創(chuàng)建時(shí)的語法


Code:

[Ctrl+A Select All]



參考資料:

1)如何在MySQL中獲得更好的全文搜索結(jié)果 http://dev.21tx.com/2006/04/05/10735.html
[主要介紹了全文檢索和搜索是怎么用的]

2)mysql全文檢索http://www.jolr.com/forum/?display=topic&id=4856&s=371cda7ed1694f669f75610dde769c82
[主要介紹了全文檢索的一些語法知識(shí)等]
另外,如果想要看最原始的資料,請(qǐng)上mysql官方網(wǎng)站,http://www.mysql.com
大家注意拉,mysql5以后才支持視圖和存儲(chǔ)過程
要是想要使用這些東西,可以到www.mysql.cn或者www.phpchina.cn下載mysql5.0.18哦

1)下面是mysql下存儲(chǔ)過程的使用
http://www.mimi163.net/cs/wenzhang/2006/3/16/996.htm
有時(shí)間寫篇關(guān)于mysql和其他數(shù)據(jù)庫存儲(chǔ)過程使用的比較,呵呵
感覺這個(gè)東西還是很有用的拉
2)另外,這里有一篇介紹php怎么調(diào)用mysql的存儲(chǔ)過程的
也是相當(dāng)?shù)牟诲e(cuò),呵呵
http://www.ithack.net/Articles/php/2005052595601.html

不過上面的東西,我還沒有測試過,正在使用中...
后面用了一下感覺不錯(cuò)

對(duì)拉,注意這個(gè)東西的意思哦
delimiter // --- 這是定義結(jié)束符為“//”

解決了mysql5中直接創(chuàng)建全文索引時(shí)的一個(gè)問題

問題為:
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes

解決:
http://www.dmresearch.net/shijun/?p=108
好東西,先放這里

《PHP 字符串操作入門教程 》
http://study.zhupao.com/infoview/Article_16867.html
我自己試了后精簡說一下:

問題:
ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
解決辦法:
如果你以前使用:
create table test
(
id int not null primary key,
name text,
fulltext(name)
);
出錯(cuò)
那么現(xiàn)在使用
create table test
(
id int not null primary key,
name text,
fulltext(name)
)type=myisam;
就可以解決
或者把type用engine代替

補(bǔ)充:
在我使用的時(shí)候
mysql4.0竟然沒有這個(gè)問題,但是使用mysql5.0的時(shí)候到出現(xiàn),不過用上面辦法就解決拉

posted @ 2008-03-14 16:13 隨意門 閱讀(1330) | 評(píng)論 (0)編輯 收藏
mysql5觸發(fā)器使用實(shí)例

作者: falcon   發(fā)表日期: 2006-05-06 15:13   復(fù)制鏈接



引言:

觸發(fā)器的作用就不用說了吧,也許你在sqlserver或者其他的數(shù)據(jù)庫里頭早就用過觸發(fā)器拉.所以這里直接介紹mysql5下怎 么使用觸發(fā)器.具體的語法細(xì)則這里也不說,可以到搜索引擎里頭搜索"mysql5 觸發(fā)器",一大堆的參考資料,不過基本上是一個(gè)出身,都只簡單介紹了語法.沒有太多實(shí)際的例子.下面就從實(shí)際例子出發(fā)來學(xué)習(xí)一下哦.

正文:

我們先假設(shè)我們有這樣一個(gè)用戶信息表、用戶評(píng)價(jià)表:
[說明:我們的表可能建得不大規(guī)范,不要追究這個(gè),因?yàn)閮H僅是個(gè)演示觸發(fā)器的例子哦]

表名:(用戶表)User_tab、(用戶評(píng)價(jià)表)User_score

User_tab表結(jié)構(gòu)如下:

字段名   字段類型           鍵     備注
用戶編號(hào)(id)       int     pk     auto_increment
登陸名(login_name) varchar(20)   not null    
登陸密碼(login_pw)   varcahr(20) not null
加密密碼(login_enc_pw)   varchar(32)
注冊(cè)時(shí)間(reg_time)   datetime

User_score表結(jié)構(gòu)如下:

用戶編號(hào)(id)   int fk User_tab(id)
用戶評(píng)價(jià)(score) int


我們對(duì)該表有如下操作:

1)在用戶注冊(cè)的時(shí)候需要用戶輸入登陸名、登陸密碼,用戶編號(hào),加密密碼和注冊(cè)時(shí)間由系統(tǒng)自動(dòng)更新
2)假如我們要?jiǎng)h除某個(gè)用戶信息,那么該用戶的評(píng)價(jià)信息也得刪除,我們也讓系統(tǒng)自動(dòng)實(shí)現(xiàn)


先創(chuàng)建這兩個(gè)表哦,代碼就不列出拉。

下面我們?yōu)榱俗屜到y(tǒng)自動(dòng)實(shí)現(xiàn)這些東西,寫兩個(gè)觸發(fā)器

1)觸發(fā)器一[更新操作]
功能:在插入用戶的登陸名和登陸密碼進(jìn)入數(shù)據(jù)庫之后,系統(tǒng)自動(dòng)更新該用戶的注冊(cè)時(shí)間和加密密碼信息(用戶編號(hào)不用我們做,是因?yàn)槲覀冊(cè)O(shè)置了auto_increment,所以系統(tǒng)會(huì)自增)
名字:User_tab_before_insert(表名_觸發(fā)時(shí)機(jī)_操作)
代碼:


Code:

[Ctrl+A Select All]



2)觸發(fā)器二[刪除操作]
功能:在刪除某個(gè)用戶信息之后,系統(tǒng)自動(dòng)刪除該用戶的評(píng)價(jià)信息
名字:User_tab_before_delete
代碼:


Code:

[Ctrl+A Select All]



總結(jié):

到這里我們要用的觸發(fā)器的功能基本實(shí)現(xiàn)拉。我們通常要用戶要做的操作也就這些:自動(dòng)實(shí)現(xiàn)某些功能,以維護(hù)數(shù)據(jù)庫的完整性和一致性。
需要補(bǔ)充的是,在創(chuàng)建那些需要觸發(fā)器更新的數(shù)據(jù)的時(shí)候,請(qǐng)不要設(shè)置not null,否則,由于在插入時(shí)會(huì)出錯(cuò)。因?yàn)樗谟|發(fā)器起作用之前為空。

由于本人水平有限,如有問題,請(qǐng)批評(píng)指正,謝謝

為了保持參照完整性,可以通過在對(duì)應(yīng)具有外鍵約束的字段后面增加ON DELETE CASCADE

具體參考這個(gè)
《在MySQL中利用外鍵實(shí)現(xiàn)級(jí)聯(lián)刪除!》
http://www.chinaunix.net/jh/17/462977.html

posted @ 2008-03-14 16:11 隨意門 閱讀(530) | 評(píng)論 (0)編輯 收藏
MySQL用戶密碼管理幾法

作者: falcon   發(fā)表日期: 2006-06-13 19:54   復(fù)制鏈接



下面的這個(gè)來自:
http://www.yesky.com/searchdatabase/504969419638702080/20050224/1914572.shtml


在MySQL中修改一個(gè)用戶(比如叫"hunte")的密碼,可以用如下3個(gè)辦法:

  #在控制臺(tái)上輸入
  bash$ mysql -u root mysql
  #用mysql客戶程序
  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte';
  mysql> FLUSH PRIVILEGES;
  mysql> QUIT


  #在控制臺(tái)上輸入
  bash$ mysql -u root mysql
    #用mysql客戶程序
  mysql> SET PASSWORD FOR hunte=PASSWORD('new password');
  mysql> QUIT


  #直接在控制臺(tái)上輸入
  bash$ mysqladmin -u root "old password" "new password"


1)其實(shí),上面的所有命令操作的對(duì)象都是mysql.user(mysql數(shù)據(jù)庫的user表),而第一種操作方法剛好放映了這個(gè),不相信。你查看一下mysql.user的內(nèi)容。

2)另外,我們可以在分配權(quán)限給用戶的時(shí)候,直接指定該用戶的密碼,具體操作可以是這個(gè)樣子


falcon@falcon:~$ sudo -s
Password:
root@falcon:~# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14 to server version: 5.0.21-Debian_3ubuntu1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> grant all on *.* to 54falcon identified by '54falcon';
Query OK, 0 rows affected (0.51 sec)

mysql> quit
Bye
root@falcon:~# mysql -u 54falcon -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16 to server version: 5.0.21-Debian_3ubuntu1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select user,password from mysql.user where user='54falcon';
+----------+------------------+
| user   | password       |
+----------+------------------+
| 54falcon | 3e4722567adf268d |
+----------+------------------+
1 row in set (0.01 sec)


看到?jīng)]有阿,密碼已經(jīng)指定阿,而且54falcon用戶的權(quán)限也是不小的,呵呵。

3)誒,上面我們提到,既然用戶和密碼信息存放在mysql.user里頭,我們是不是可以直接通過操作mysql.user來進(jìn)行用戶和密碼的管理呢?回答是肯定的拉,呵呵

看看

mysql> insert into mysql.user(user) values('5454falcon');
Query OK, 1 row affected (0.02 sec)

mysql> select user from mysql.user where user like '%falcon%';
+------------+
| user     |
+------------+
| 5454falcon |
| 54falcon   |
| falcon   |
+------------+
3 rows in set (0.04 sec)


看到?jīng)],最上面的那個(gè)用戶就是我們剛才插入的哦,要是想給個(gè)密碼,用最開始給出方法就可以搞定拉。

誒,到此結(jié)束拉。

posted @ 2008-03-14 16:10 隨意門 閱讀(448) | 評(píng)論 (0)編輯 收藏
數(shù)據(jù)庫基本操作

作者: falcon   發(fā)表日期: 2006-08-30 15:15   復(fù)制鏈接



這里總結(jié)幾個(gè)常用數(shù)據(jù)相關(guān)操作

1. 重新啟動(dòng)數(shù)據(jù)庫

Quote:

sudo -u mysql /path/to/mysqld_safe


如果想查找mysqld_safe的路徑,用
Quote:

whereis mysqld_safe



2. 遠(yuǎn)程登錄數(shù)據(jù)庫

首先在服務(wù)器上創(chuàng)建一個(gè)遠(yuǎn)程用戶

Quote:

GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by '[password]';



然后遠(yuǎn)程登錄,注意你的用戶名、密碼和本地ip地址都必須似乎上面的語句里頭指定的
Quote:

mysql -u username -h serveripaddress -p



3.  查看數(shù)據(jù)庫日志

一般情況下,數(shù)據(jù)庫日志存放的目錄在: /usr/local/mysql/var/

查看下面的*.rr文件即可

4. 查看最近一段時(shí)間執(zhí)行的系統(tǒng)腳本

Quote:

more $HOME/.bash_history



5. 查看系統(tǒng)日志

系統(tǒng)日志在/var/log下面,要經(jīng)常檢查日志,防止非法分子登錄或者有部分管理人員的誤操作等<br>

6. mysql備份

數(shù)據(jù)庫的備份是個(gè)非常重要的東西,下面有詳細(xì)的參考資料

參考資料

1。理解linux的日志文件
http://edudata.ccut.edu.cn/linux/linux%D3%C5%D0%E3%CE%C4%D5%C2/linux/linux110.htmlinux
系統(tǒng)日志介紹http://www.window07.com/other/2006-2-28/k37575.htm

2。無法遠(yuǎn)程登錄mysql解決辦法http://www.webasp.net/article/21/20985_print.htm

3。mysql增量備份腳本
http://news.weixiuwang.com/server/2006-5/2006E5Y31;93334E22814353.htm<br>

posted @ 2008-03-14 16:10 隨意門 閱讀(237) | 評(píng)論 (0)編輯 收藏
讓mysql回歸傳統(tǒng)服務(wù)模式!

作者: falcon   發(fā)表日期: 2006-09-23 14:02   復(fù)制鏈接



讓mysql回歸傳統(tǒng)服務(wù)模式!

如果稍微用過mysql
你就會(huì)發(fā)現(xiàn),以前的一些版本的mysql對(duì)無效數(shù)據(jù)的約束是很“不傳統(tǒng)”的
比如,你把NULL插入NOT NULL字段,mysql服務(wù)器不會(huì)報(bào)錯(cuò)
而僅僅是出現(xiàn)警告,然后你用show warnings可以查看到底警告你什么
有些情況,它連警告都不給
如果是這樣,那些not null的字段完整性約束簡直就成了一個(gè)擺設(shè)

還好,在MySQL 5.0.2之后這些約束更加嚴(yán)格拉
我們可以通過設(shè)置sql-mode環(huán)境變量來恢復(fù)“傳統(tǒng)”模式
——即對(duì)一些非空,唯一等的約束保持完整性

具體我們可以通過兩種辦法來弄

1。在啟動(dòng)mysql的時(shí)候,加入--sql-mode='STRICT_TRANS_TABLES',即
Quote:

path/to/mysqld --sql-mode='STRICT_TRANS_TABLES'


注意,需要有super權(quán)限。

2。啟動(dòng)后也可以設(shè)置sql-mode變量
可以是針對(duì)當(dāng)前會(huì)話的,也可以是所有會(huì)話的
Quote:

set [session|global] sql_mode='STRICT_TRANS_TABLES'



這樣設(shè)置了以后,就遵從標(biāo)準(zhǔn)的sql拉
在諸如把空數(shù)據(jù)插入非空字段的時(shí)候不再是警告而是報(bào)錯(cuò)并且禁止插入數(shù)據(jù)。


參考資料:

對(duì)無效數(shù)據(jù)的約束
http://dev.mysql.com/doc/refman/5.1/zh/introduction.html#constraints

SQL服務(wù)器模式
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-sql-mode

posted @ 2008-03-14 16:09 隨意門 閱讀(245) | 評(píng)論 (0)編輯 收藏
mysql備份與恢復(fù)時(shí)兩個(gè)錯(cuò)誤解決辦法

作者: falcon   發(fā)表日期: 2007-01-19 21:11   復(fù)制鏈接



1. ERROR 1062 (23000) at line 1936: Duplicate entry ' ' for key 2

這個(gè)錯(cuò)誤是我在恢復(fù)數(shù)據(jù)庫的時(shí)候遇到的,我從mysql4.1.7的版本里頭用
Quote:

mysqldump -u user_name -p db_name > db_name.sql


備份了數(shù)據(jù),準(zhǔn)備恢復(fù)到mysql5.0.12中,但是新版本對(duì)primary key的檢查更嚴(yán)格
因此,在我這樣恢復(fù)的時(shí)候就出現(xiàn)了上面的錯(cuò)誤
Quote:

mysql -u user_name -p db_name < db_name.sql



解決辦法:

在插入數(shù)據(jù)的時(shí)候忽略掉那個(gè)重復(fù)的項(xiàng)目,即在insert后面增加ignore,那么這么多的插入語句,怎么一條一條的加入呢,辦法很簡單,用sed
Quote:

sed -e 's/INSERT INTO/INSERT ignore INTO/g' db_name.sql > db_name_ignore.sql



2. ERROR 1005 (HY000): Can't create table

有時(shí)候在用
Quote:

mysql -u user_name -p db_name < db_name.sql


恢復(fù)數(shù)據(jù)庫的時(shí)候,可能出現(xiàn)這樣的問題
但是,有時(shí)候可以這么簡單的解決

解決辦法:把數(shù)據(jù)庫刪了,重新創(chuàng)建一個(gè),然后再把數(shù)據(jù)庫導(dǎo)入進(jìn)去
Quote:

shell> drop database db_name
shell> create database db_name


然后再導(dǎo)入數(shù)據(jù)用mysql -u user_name -p db_name < db_name.sql



補(bǔ)充:

當(dāng)然,可能錯(cuò)誤的原因并不一樣哦,另外在這里你會(huì)發(fā)現(xiàn)shell是多么有用,所以諸如sed,grep,awk,uniq,sort,netstat,tracepath等等一些常見的工具最好還是花費(fèi)一些時(shí)間認(rèn)真學(xué)習(xí)一下吧。

posted @ 2008-03-14 16:09 隨意門 閱讀(431) | 評(píng)論 (0)編輯 收藏
僅列出標(biāo)題
共9頁: 1 2 3 4 5 6 7 8 9 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产乱子精品免费女 | 91久久在线播放| 欧美日韩综合一区| 久久综合亚州| 欧美在线日韩在线| 一本色道久久88综合日韩精品| 久久亚洲春色中文字幕久久久| 亚洲色图综合久久| 亚洲福利久久| 激情文学综合丁香| 国产伦精品一区二区三区在线观看| 欧美激情视频在线播放 | 亚洲黄色成人久久久| 国产日韩综合一区二区性色av| 欧美女主播在线| 男男成人高潮片免费网站| 欧美一区二区视频在线观看| 亚洲一区二区三区四区五区黄| 亚洲乱码日产精品bd| 亚洲国产精品欧美一二99| 久久婷婷激情| 久久久噜噜噜久久人人看| 欧美在线观看视频在线| 亚洲欧美国产77777| 一区二区三区高清视频在线观看| 亚洲大胆女人| 在线观看欧美亚洲| 国内精品久久久久久久果冻传媒| 国产欧美日韩视频| 国产伦精品一区二区三区照片91| 国产精品你懂得| 国产精品一区二区久激情瑜伽| 欧美性大战久久久久| 国产精品黄视频| 国产精品二区三区四区| 欧美三区在线观看| 国产精品成人va在线观看| 国产精品v片在线观看不卡| 欧美日韩在线一区二区| 国产精品高潮呻吟视频| 国产精品扒开腿做爽爽爽软件| 国产精品久久久久久久久久久久| 国产精品久久久久久久久借妻 | 欧美人成在线| 欧美日韩亚洲另类| 国产精品成人播放| 国产日产亚洲精品| 狠狠狠色丁香婷婷综合激情| 影音先锋成人资源站| 在线观看的日韩av| 亚洲激情在线播放| 中文精品视频| 先锋影音网一区二区| 久久久久国内| 欧美激情视频一区二区三区在线播放| 亚洲国产日韩欧美在线图片| 99国产精品一区| 午夜精品久久久久| 久久久久久欧美| 欧美电影免费观看网站| 国产精品va在线播放| 国产伦精品一区二区三区在线观看| 国内外成人在线视频| 亚洲日韩欧美视频一区| 亚洲一区久久| 蜜桃伊人久久| 99精品视频免费观看| 亚洲欧美另类国产| 久久综合网hezyo| 国产精品www| 在线观看亚洲视频啊啊啊啊| 99亚洲一区二区| 久久国产手机看片| 亚洲成人在线视频播放 | 国产精品免费福利| 在线免费观看一区二区三区| 一区二区三区精品在线| 久久er精品视频| 欧美国产高清| 亚洲欧美韩国| 欧美精品三级日韩久久| 国产一区二区三区免费不卡| 亚洲黄色在线| 久久精品道一区二区三区| 亚洲激情国产| 久久精品国产欧美激情| 欧美日韩亚洲综合| 亚洲成色777777女色窝| 亚洲欧美日韩第一区| 欧美刺激午夜性久久久久久久| 亚洲午夜一二三区视频| 欧美成人精品影院| 国内精品视频久久| 亚洲欧美卡通另类91av| 亚洲国产精品成人va在线观看| 欧美一区二区三区播放老司机| 欧美日韩一区综合| 亚洲娇小video精品| 久久电影一区| 这里只有精品电影| 欧美激情第3页| 亚洲国产成人在线| 久久精品国产精品| 中日韩在线视频| 欧美日韩岛国| 亚洲国产精品一区| 久久午夜av| 欧美一区日本一区韩国一区| 欧美午夜精品久久久久久人妖| 亚洲人成网站在线播| 猛男gaygay欧美视频| 欧美一区二区三区四区夜夜大片 | 亚洲精品资源美女情侣酒店| 久久中文字幕一区二区三区| 午夜精品久久久久久久99黑人| 欧美午夜电影完整版| 99精品热视频只有精品10| 欧美成人午夜剧场免费观看| 久久久久成人网| 韩国一区电影| 久久只精品国产| 欧美一区二区三区免费看| 国产精品一区免费视频| 午夜久久资源| 亚洲中无吗在线| 国产精品一区久久久久| 亚洲欧美三级在线| 在线一区免费观看| 国产精品第十页| 午夜激情综合网| 亚洲午夜av在线| 国产精品久久久久av免费| 亚洲自拍偷拍麻豆| 亚洲一区二区成人| 国产精品视频成人| 欧美一级淫片aaaaaaa视频| 亚洲天堂成人在线视频| 国产精品免费看久久久香蕉| 亚洲一区二区在线观看视频| 一区二区三区免费看| 国产精品成人观看视频国产奇米| 亚洲欧美一区二区三区在线| 亚洲一区二区av电影| 国产区二精品视| 免费不卡亚洲欧美| 嫩模写真一区二区三区三州| 亚洲精品一区二区三区在线观看 | 国产日韩欧美日韩大片| 久久久久久**毛片大全| 久久精品视频va| 亚洲国产日韩欧美在线动漫| 亚洲激情偷拍| 欧美性做爰猛烈叫床潮| 欧美一区二区免费| 久久精品欧美日韩精品| 亚洲激情一区| 一区二区三区日韩精品视频| 国产伦精品一区二区三区视频孕妇| 久久精品在这里| 免费久久99精品国产自| 亚洲视频福利| 欧美一级淫片aaaaaaa视频| 在线看欧美日韩| 一区二区日韩| 黄色成人av| 99riav久久精品riav| 国产日韩免费| 亚洲国产综合在线看不卡| 国产精品v亚洲精品v日韩精品| 久久精品女人| 欧美人与性禽动交情品| 午夜日韩福利| 欧美福利视频在线| 欧美亚洲一区在线| 麻豆精品精华液| 欧美一区二区精品| 美日韩精品视频免费看| 午夜精品理论片| 女女同性女同一区二区三区91| 亚洲午夜精品久久久久久浪潮| 久久www成人_看片免费不卡| 99精品欧美一区| 久久福利影视| 亚洲在线免费| 欧美a级在线| 久久久久久电影| 欧美视频四区| 亚洲高清久久网| 国产日韩欧美精品一区| 亚洲精品乱码| 精品91在线| 午夜国产精品视频免费体验区| 亚洲精品视频一区二区三区| 欧美在线亚洲一区| 亚洲男人的天堂在线| 免费日韩成人| 美日韩在线观看| 国产日韩欧美成人| 9i看片成人免费高清| 亚洲精品国产精品国自产在线|